Browse Source

Wrote more tests for the serializer.

Matthew Carr 3 years ago
parent
commit
6d78e87f6d
2 changed files with 57 additions and 6 deletions
  1. 25 0
      crates/node/.vscode/tasks.json
  2. 32 6
      crates/node/src/serde_blocktree/ser.rs

+ 25 - 0
crates/node/.vscode/tasks.json

@@ -0,0 +1,25 @@
+{
+    // See https://go.microsoft.com/fwlink/?LinkId=733558
+    // for the documentation about the tasks.json format
+    "version": "2.0.0",
+    "tasks": [
+        {
+            "type": "cargo",
+            "subcommand": "test",
+            "problemMatcher": [
+                "$rustc"
+            ],
+            "group": "test",
+            "label": "test"
+        },
+        {
+            "type": "cargo",
+            "subcommand": "build",
+            "problemMatcher": [
+                "$rustc"
+            ],
+            "group": "build",
+            "label": "cargo build"
+        }
+    ]
+}

+ 32 - 6
crates/node/src/serde_blocktree/ser.rs

@@ -339,14 +339,40 @@ mod test {
     #[test]
     fn serialize_bool() -> Result<()> {
         {
-            let mut buffer = super::to_vec(&true)?;
-            assert_eq!(1, buffer.pop().unwrap());
-            assert_eq!(true, buffer.is_empty());
+            let buffer = super::to_vec(&true)?;
+            assert_eq!(vec![1], buffer);
         }
         {
-            let mut buffer = super::to_vec(&false)?;
-            assert_eq!(0, buffer.pop().unwrap());
-            assert_eq!(true, buffer.is_empty());
+            let buffer = super::to_vec(&false)?;
+            assert_eq!(vec![0], buffer);
+        }
+        Ok(())
+    }
+
+    #[test]
+    fn serialize_i8() -> Result<()> {
+        {
+            let buffer = super::to_vec(&5i8)?;
+            assert_eq!(vec![0b00000101], buffer);
+        }
+        {
+            let value: i8 = -1;
+            let buffer = super::to_vec(&value)?;
+            assert_eq!(vec![0b11111111], buffer);
+        }
+        Ok(())
+    }
+
+    #[test]
+    fn serialize_i16() -> Result<()> {
+        {
+            let buffer = super::to_vec(&1i16)?;
+            assert_eq!(vec![0x01, 0x00], buffer);
+        }
+        {
+            let value: i16 = -2;
+            let buffer = super::to_vec(&value)?;
+            assert_eq!(vec![0xFE, 0xFF], buffer);
         }
         Ok(())
     }