summaryrefslogtreecommitdiff
path: root/src/assemblage.rs
diff options
context:
space:
mode:
authortroido <troido@protonmail.com>2020-09-27 15:33:09 +0200
committertroido <troido@protonmail.com>2020-09-27 15:33:09 +0200
commita20bcfed7d3b6aacc3211514d9804651a458e725 (patch)
treed4d4aaab553a3a9065e9dba8ef4fdec9ccf45778 /src/assemblage.rs
parentc3a282d04f1fd5c7cc4cf5ebb478129c2b1c42fa (diff)
better serialisation structure for encyclopediae
["list", [1, 2, 3]] is now just [1, 2, 3] and {"type": builtwall", "kwargs": {"health": 50}} is now {":template": "builtwall", "health": 50}
Diffstat (limited to 'src/assemblage.rs')
-rw-r--r--src/assemblage.rs63
1 files changed, 15 insertions, 48 deletions
diff --git a/src/assemblage.rs b/src/assemblage.rs
index e4554eb..9911c77 100644
--- a/src/assemblage.rs
+++ b/src/assemblage.rs
@@ -181,9 +181,9 @@ mod tests {
],
"components": [
["Visible", {
- "sprite": ["arg", "sprite"],
- "height": ["float", 0.1],
- "name": ["string", "grass"]
+ "sprite": {"$arg": "sprite"},
+ "height": 0.1,
+ "name": "grass"
}]
]
})).unwrap();
@@ -210,9 +210,9 @@ mod tests {
],
"components": [
["visible", { // no capital so invalid
- "sprite": ["A", "sprite"],
- "height": ["float", 0.1],
- "name": ["string", "grass"]
+ "sprite": {"$arg": "sprite"},
+ "height": 0.1,
+ "name": "grass"
}]
]
})).unwrap_err();
@@ -229,48 +229,15 @@ mod tests {
],
"components": [
["Visible", {
- "sprite": ["A", "sprite"],
- "height": ["string", "0.1"],
- "name": ["string", "grass"]
+ "sprite": {"$arg": "sprite"},
+ "height": "0.1",
+ "name": "grass"
}]
]
})).unwrap_err();
// assert_eq!(result, "parameter type incorrect");
}
-// #[test]
- fn unknown_argument_name(){
- Assemblage::deserialize(&json!({
- "arguments": [
- ["sprite", "string", "grass1"]
- ],
- "components": [
- ["Visible", {
- "sprite": ["A", "sprits"],
- "height": ["float", 0.1],
- "name": ["string", "grass"]
- }]
- ]
- })).unwrap_err();
-// assert_eq!(result, "unknown argument name");
- }
-
-// #[test]
- fn wrong_argument_type(){
- Assemblage::deserialize(&json!({
- "arguments": [
- ["sprite", "int", 1]
- ],
- "components": [
- ["Visible", {
- "sprite": ["A", "sprite"],
- "height": ["float", 0.1],
- "name": ["string", "grass"]
- }]
- ]
- })).unwrap_err();
-// assert_eq!(result, "parameter type incorrect");
- }
@@ -282,9 +249,9 @@ mod tests {
],
"components": [
["Visible", {
- "sprite": ["A", "sprite"],
- "height": ["float", 0.1],
- "name": ["string", "grass"]
+ "sprite": {"$arg": "sprite"},
+ "height": 0.1,
+ "name": "grass"
}]
]
})).unwrap_err();
@@ -300,9 +267,9 @@ mod tests {
],
"components": [
["Visible", {
- "sprite": ["arg", "sprite"],
- "height": ["float", 0.1],
- "name": ["arg", "sprite"]
+ "sprite": {"$arg": "sprite"},
+ "height": 0.1,
+ "name": {"$arg": "sprite"}
}]
]
})).unwrap();