test LuaAssertion
change wrlntwsrlymymuqwqqqvtmttqkxrmrwm
commit 2386052f033c17dbf42019e9c812d28e51f432ef
author Alpha Chen <alpha@kejadlen.dev>
date
parent qwrkpswu
diff --git a/src/main.rs b/src/main.rs
index 123c045..7e3175c 100644
--- a/src/main.rs
+++ b/src/main.rs
@@ -340,3 +340,70 @@ fn main() -> Result<()> {
 
     Ok(())
 }
+
+#[cfg(test)]
+mod tests {
+    use super::*;
+
+    #[test]
+    fn test_lua_assertion_ok_status() {
+        let lua = Lua::new();
+        let status_fn = lua
+            .create_function(|_lua, _args: LuaMultiValue| Ok("ok".to_string()))
+            .unwrap();
+
+        let assertion = LuaAssertion::new("test", LuaMultiValue::new(), status_fn);
+        let result = assertion.status().unwrap();
+
+        match result {
+            Status::Ok => {}
+            _ => panic!("Expected Status::Ok"),
+        }
+    }
+
+    #[test]
+    fn test_lua_assertion_missing_status() {
+        let lua = Lua::new();
+        let status_fn = lua
+            .create_function(|_lua, _args: LuaMultiValue| Ok("missing".to_string()))
+            .unwrap();
+
+        let assertion = LuaAssertion::new("test", LuaMultiValue::new(), status_fn);
+        let result = assertion.status().unwrap();
+
+        match result {
+            Status::Missing => {}
+            _ => panic!("Expected Status::Missing"),
+        }
+    }
+
+    #[test]
+    fn test_lua_assertion_invalid_status() {
+        let lua = Lua::new();
+        let status_fn = lua
+            .create_function(|_lua, _args: LuaMultiValue| Ok("invalid".to_string()))
+            .unwrap();
+
+        let assertion = LuaAssertion::new("test", LuaMultiValue::new(), status_fn);
+        let result = assertion.status();
+
+        assert!(result.is_err());
+    }
+
+    #[test]
+    fn test_lua_assertion_display() {
+        let lua = Lua::new();
+        let status_fn = lua
+            .create_function(|_lua, _args: LuaMultiValue| Ok("ok".to_string()))
+            .unwrap();
+
+        let args = vec![LuaValue::String(lua.create_string("arg1").unwrap())];
+        let lua_args = LuaMultiValue::from_vec(args);
+
+        let assertion = LuaAssertion::new("mytest", lua_args, status_fn);
+        let display = assertion.display();
+
+        assert!(display.contains("mytest"));
+        assert!(display.contains("arg1"));
+    }
+}