diff --git a/README.md b/README.md index 7396708..a6067fd 100644 --- a/README.md +++ b/README.md @@ -406,3 +406,33 @@ Example ```gdscript Z.quaternion().parse(Quaternion.IDENTITY).ok() # true ``` + +### Z.aabb() + +Parse [AABB](https://docs.godotengine.org/en/latest/classes/class_aabb.html#class-aabb) type. + +Example + +```gdscript +Z.aabb().parse(AABB()).ok() # true +``` + +### Z.rid() + +Parse [RID](https://docs.godotengine.org/en/latest/classes/class_rid.html#class-rid) type. + +Example + +```gdscript +Z.rid().parse(RID()).ok() # true +``` + +### Z.basis() + +Parse [Basis](https://docs.godotengine.org/en/latest/classes/class_basis.html#class-basis) type. + +Example + +```gdscript +Z.basis().parse(Basis.FLIP_X).ok() # true +``` diff --git a/test/test_z_aabb.gd b/test/test_z_aabb.gd new file mode 100644 index 0000000..0b7c80d --- /dev/null +++ b/test/test_z_aabb.gd @@ -0,0 +1,13 @@ +extends GutTest + +func test_z_aabb(): + assert_true(Z.aabb().parse(AABB()).ok()) + assert_true(Z.aabb().coerce().parse(var_to_str(AABB())).ok()) + assert_false(Z.aabb().parse(123).ok()) + assert_false(Z.aabb().parse(null).ok()) + assert_false(Z.aabb().parse("123").ok()) + + var result = Z.aabb().parse("", "root") + assert_false(result.ok()) + assert_null(result.data) + assert_eq(result.error, "Field 'root' does not match desired type") diff --git a/test/test_z_basis.gd b/test/test_z_basis.gd new file mode 100644 index 0000000..ed4f825 --- /dev/null +++ b/test/test_z_basis.gd @@ -0,0 +1,13 @@ +extends GutTest + +func test_z_basis(): + assert_true(Z.basis().parse(Basis.FLIP_X).ok()) + assert_true(Z.basis().coerce().parse(var_to_str(Basis.FLIP_X)).ok()) + assert_false(Z.basis().parse(123).ok()) + assert_false(Z.basis().parse(null).ok()) + assert_false(Z.basis().parse("123").ok()) + + var result = Z.basis().parse("", "root") + assert_false(result.ok()) + assert_null(result.data) + assert_eq(result.error, "Field 'root' does not match desired type") diff --git a/test/test_z_rid.gd b/test/test_z_rid.gd new file mode 100644 index 0000000..1e40f5b --- /dev/null +++ b/test/test_z_rid.gd @@ -0,0 +1,13 @@ +extends GutTest + +func test_z_rid(): + assert_true(Z.rid().parse(RID()).ok()) + assert_true(Z.rid().coerce().parse(var_to_str(RID())).ok()) + assert_false(Z.rid().parse(123).ok()) + assert_false(Z.rid().parse(null).ok()) + assert_false(Z.rid().parse("123").ok()) + + var result = Z.rid().parse("", "root") + assert_false(result.ok()) + assert_null(result.data) + assert_eq(result.error, "Field 'root' does not match desired type")