# GdUnit generated TestSuite class_name GdUnitVectorAssertImplTest extends GdUnitTestSuite @warning_ignore('unused_parameter') @warning_ignore('return_value_discarded') # TestSuite generated from const __source = 'res://addons/gdUnit4/src/asserts/GdUnitVectorAssertImpl.gd' var _test_seta =[ [null], [Vector2.ONE], [Vector2i.ONE], [Vector3.ONE], [Vector3i.ONE], [Vector4.ONE], [Vector4i.ONE], ] @warning_ignore("unused_parameter") func test_supported_types(value, test_parameters = _test_seta): assert_object(assert_vector(value))\ .is_not_null()\ .is_instanceof(GdUnitVectorAssert) @warning_ignore("unused_parameter") func test_unsupported_types(value, details :String, test_parameters =[ [true, 'bool'], [42, 'int'], [42.0, 'float'], ['foo', 'String'], ] ): assert_failure(func(): assert_vector(value))\ .is_failed()\ .has_message("GdUnitVectorAssert error, the type <%s> is not supported." % details) @warning_ignore("unused_parameter") func test_is_null(value, test_parameters = _test_seta): if value == null: assert_vector(null).is_null() else: assert_failure(func(): assert_vector(value).is_null()) \ .is_failed() \ .starts_with_message("Expecting: '' but was '%s'" % value) @warning_ignore("unused_parameter") func test_is_not_null(value, test_parameters = _test_seta): if value == null: assert_failure(func(): assert_vector(null).is_not_null()) \ .is_failed() \ .has_message("Expecting: not to be ''") else: assert_vector(value).is_not_null() @warning_ignore("unused_parameter") func test_is_equal() -> void: assert_vector(Vector2.ONE).is_equal(Vector2.ONE) assert_vector(Vector2.LEFT).is_equal(Vector2.LEFT) assert_vector(Vector2(1.2, 1.000001)).is_equal(Vector2(1.2, 1.000001)) # is not equal assert_failure(func(): assert_vector(Vector2.ONE).is_equal(Vector2(1.2, 1.000001))) \ .is_failed() \ .has_message("Expecting:\n '(1.2, 1.000001)'\n but was\n '(1, 1)'") # is null assert_failure(func(): assert_vector(null).is_equal(Vector2(1.2, 1.000001))) \ .is_failed() \ .has_message("Expecting:\n '(1.2, 1.000001)'\n but was\n ''") # comparing different vector types assert_failure(func(): assert_vector(Vector2.ONE).is_equal(Vector3.ONE)) \ .is_failed() \ .has_message("Unexpected type comparison:\n Expecting type 'Vector2' but is 'Vector3'") @warning_ignore("unused_parameter") func test_is_equal_over_all_types(value, test_parameters = _test_seta) -> void: assert_vector(value).is_equal(value) func test_is_not_equal() -> void: assert_vector(null).is_not_equal(Vector2.LEFT) assert_vector(Vector2.ONE).is_not_equal(Vector2.LEFT) assert_vector(Vector2.LEFT).is_not_equal(Vector2.ONE) assert_vector(Vector2(1.2, 1.000001)).is_not_equal(Vector2(1.2, 1.000002)) assert_failure(func(): assert_vector(Vector2(1.2, 1.000001)).is_not_equal(Vector2(1.2, 1.000001))) \ .is_failed() \ .has_message("Expecting:\n '(1.2, 1.000001)'\n not equal to\n '(1.2, 1.000001)'") assert_failure(func(): assert_vector(Vector2(1.2, 1.000001)).is_not_equal(Vector3(1.2, 1.000001, 1.0))) \ .is_failed() \ .has_message("Unexpected type comparison:\n Expecting type 'Vector2' but is 'Vector3'") @warning_ignore("unused_parameter") func test_is_not_equal_over_all_types(value, test_parameters = _test_seta) -> void: var expected = Vector2.LEFT if value == null else value * 2 assert_vector(value).is_not_equal(expected) func test_is_equal_approx() -> void: assert_vector(Vector2.ONE).is_equal_approx(Vector2.ONE, Vector2(0.004, 0.004)) assert_vector(Vector2(0.996, 0.996)).is_equal_approx(Vector2.ONE, Vector2(0.004, 0.004)) assert_vector(Vector2(1.004, 1.004)).is_equal_approx(Vector2.ONE, Vector2(0.004, 0.004)) assert_failure(func(): assert_vector(Vector2(1.005, 1)).is_equal_approx(Vector2.ONE, Vector2(0.004, 0.004))) \ .is_failed() \ .has_message("Expecting:\n '(1.005, 1)'\n in range between\n '(0.996, 0.996)' <> '(1.004, 1.004)'") assert_failure(func(): assert_vector(Vector2(1, 0.995)).is_equal_approx(Vector2.ONE, Vector2(0, 0.004))) \ .is_failed() \ .has_message("Expecting:\n '(1, 0.995)'\n in range between\n '(1, 0.996)' <> '(1, 1.004)'") assert_failure(func(): assert_vector(null).is_equal_approx(Vector2.ONE, Vector2(0, 0.004))) \ .is_failed() \ .has_message("Expecting:\n ''\n in range between\n '(1, 0.996)' <> '(1, 1.004)'") assert_failure(func(): assert_vector(Vector2(1.2, 1.000001)).is_equal_approx(Vector3.ONE, Vector3(1.2, 1.000001, 1.0))) \ .is_failed() \ .has_message("Unexpected type comparison:\n Expecting type 'Vector2' but is 'Vector3'") assert_failure(func(): assert_vector(Vector2(0.878431, 0.505882)).is_equal_approx(Vector2(0.878431, 0.105882), Vector2(0.000001, 0.000001))) \ .is_failed() \ .has_message(""" Expecting: '(0.878431, 0.505882)' in range between '(0.87843, 0.105881)' <> '(0.878432, 0.105883)'""" .dedent().trim_prefix("\n") ) assert_failure(func(): assert_vector(Vector3(0.0, 0.878431, 0.505882)).is_equal_approx(Vector3(0.0, 0.878431, 0.105882), Vector3(0.000001, 0.000001, 0.000001))) \ .is_failed() \ .has_message(""" Expecting: '(0, 0.878431, 0.505882)' in range between '(-0.000001, 0.87843, 0.105881)' <> '(0.000001, 0.878432, 0.105883)'""" .dedent().trim_prefix("\n") ) @warning_ignore("unused_parameter") func test_is_equal_approx_over_all_types(value, expected, approx, test_parameters = [ [Vector2(0.996, 1.004), Vector2.ONE, Vector2(0.004, 0.004)], [Vector2i(9, 11), Vector2i(10, 10), Vector2i(1, 1)], [Vector3(0.996, 0.996, 1.004), Vector3.ONE, Vector3(0.004, 0.004, 0.004)], [Vector3i(10, 9, 11), Vector3i(10, 10, 10), Vector3i(1, 1, 1)], [Vector4(0.996, 0.996, 1.004, 1.004), Vector4.ONE, Vector4(0.004, 0.004, 0.004, 0.004)], [Vector4i(10, 9, 11, 9), Vector4i(10, 10, 10, 10), Vector4i(1, 1, 1, 1)] ]) -> void: assert_vector(value).is_equal_approx(expected, approx) func test_is_less() -> void: assert_vector(Vector2.LEFT).is_less(Vector2.ONE) assert_vector(Vector2(1.2, 1.000001)).is_less(Vector2(1.2, 1.000002)) assert_failure(func(): assert_vector(Vector2.ONE).is_less(Vector2.ONE)) \ .is_failed() \ .has_message("Expecting to be less than:\n '(1, 1)' but was '(1, 1)'") assert_failure(func(): assert_vector(Vector2(1.2, 1.000001)).is_less(Vector2(1.2, 1.000001))) \ .is_failed() \ .has_message("Expecting to be less than:\n '(1.2, 1.000001)' but was '(1.2, 1.000001)'") assert_failure(func(): assert_vector(null).is_less(Vector2(1.2, 1.000001))) \ .is_failed() \ .has_message("Expecting to be less than:\n '(1.2, 1.000001)' but was ''") assert_failure(func(): assert_vector(Vector2(1.2, 1.000001)).is_less(Vector3(1.2, 1.000001, 1.0))) \ .is_failed() \ .has_message("Unexpected type comparison:\n Expecting type 'Vector2' but is 'Vector3'") @warning_ignore("unused_parameter") func test_is_less_over_all_types(value, expected, test_parameters = [ [Vector2(1.0, 1.0), Vector2(1.0001, 1.0001)], [Vector2i(1, 1), Vector2i(2, 1)], [Vector3(1.0, 1.0, 1.0), Vector3(1.0001, 1.0001, 1.0)], [Vector3i(1, 1, 1), Vector3i(2, 1, 1)], [Vector4(1.0, 1.0, 1.0, 1.0), Vector4(1.0001, 1.0001, 1.0, 1.0)], [Vector4i(1, 1, 1, 1), Vector4i(2, 1, 1, 1)], ]) -> void: assert_vector(value).is_less(expected) func test_is_less_equal() -> void: assert_vector(Vector2.ONE).is_less_equal(Vector2.ONE) assert_vector(Vector2(1.2, 1.000001)).is_less_equal(Vector2(1.2, 1.000001)) assert_vector(Vector2(1.2, 1.000001)).is_less_equal(Vector2(1.2, 1.000002)) assert_failure(func(): assert_vector(Vector2.ONE).is_less_equal(Vector2.ZERO)) \ .is_failed() \ .has_message("Expecting to be less than or equal:\n '(0, 0)' but was '(1, 1)'") assert_failure(func(): assert_vector(Vector2(1.2, 1.000002)).is_less_equal(Vector2(1.2, 1.000001))) \ .is_failed() \ .has_message("Expecting to be less than or equal:\n '(1.2, 1.000001)' but was '(1.2, 1.000002)'") assert_failure(func(): assert_vector(null).is_less_equal(Vector2(1.2, 1.000001))) \ .is_failed() \ .has_message("Expecting to be less than or equal:\n '(1.2, 1.000001)' but was ''") assert_failure(func(): assert_vector(Vector2(1.2, 1.000002)).is_less_equal(Vector3(1.2, 1.000001, 1.0))) \ .is_failed() \ .has_message("Unexpected type comparison:\n Expecting type 'Vector2' but is 'Vector3'") @warning_ignore("unused_parameter") func test_is_less_equal_over_all_types(value, expected, test_parameters = [ [Vector2(1.0, 1.0), Vector2(1.0001, 1.0001)], [Vector2(1.0, 1.0), Vector2(1.0, 1.0)], [Vector2i(1, 1), Vector2i(2, 1)], [Vector2i(1, 1), Vector2i(1, 1)], [Vector3(1.0, 1.0, 1.0), Vector3(1.0001, 1.0001, 1.0)], [Vector3(1.0, 1.0, 1.0), Vector3(1.0, 1.0, 1.0)], [Vector3i(1, 1, 1), Vector3i(2, 1, 1)], [Vector3i(1, 1, 1), Vector3i(1, 1, 1)], [Vector4(1.0, 1.0, 1.0, 1.0), Vector4(1.0001, 1.0001, 1.0, 1.0)], [Vector4(1.0, 1.0, 1.0, 1.0), Vector4(1.0, 1.0, 1.0, 1.0)], [Vector4i(1, 1, 1, 1), Vector4i(2, 1, 1, 1)], [Vector4i(1, 1, 1, 1), Vector4i(1, 1, 1, 1)], ]) -> void: assert_vector(value).is_less_equal(expected) func test_is_greater() -> void: assert_vector(Vector2.ONE).is_greater(Vector2.RIGHT) assert_vector(Vector2(1.2, 1.000002)).is_greater(Vector2(1.2, 1.000001)) assert_failure(func(): assert_vector(Vector2.ZERO).is_greater(Vector2.ONE)) \ .is_failed() \ .has_message("Expecting to be greater than:\n '(1, 1)' but was '(0, 0)'") assert_failure(func(): assert_vector(Vector2(1.2, 1.000001)).is_greater(Vector2(1.2, 1.000001))) \ .is_failed() \ .has_message("Expecting to be greater than:\n '(1.2, 1.000001)' but was '(1.2, 1.000001)'") assert_failure(func(): assert_vector(null).is_greater(Vector2(1.2, 1.000001))) \ .is_failed() \ .has_message("Expecting to be greater than:\n '(1.2, 1.000001)' but was ''") assert_failure(func(): assert_vector(Vector2(1.2, 1.000001)).is_greater(Vector3(1.2, 1.000001, 1.0))) \ .is_failed() \ .has_message("Unexpected type comparison:\n Expecting type 'Vector2' but is 'Vector3'") @warning_ignore("unused_parameter") func test_is_greater_over_all_types(value, expected, test_parameters = [ [Vector2(1.0001, 1.0001), Vector2(1.0, 1.0)], [Vector2i(2, 1), Vector2i(1, 1)], [Vector3(1.0001, 1.0001, 1.0), Vector3(1.0, 1.0, 1.0)], [Vector3i(2, 1, 1), Vector3i(1, 1, 1)], [Vector4(1.0001, 1.0001, 1.0, 1.0), Vector4(1.0, 1.0, 1.0, 1.0)], [Vector4i(2, 1, 1, 1), Vector4i(1, 1, 1, 1)], ]) -> void: assert_vector(value).is_greater(expected) func test_is_greater_equal() -> void: assert_vector(Vector2.ONE*2).is_greater_equal(Vector2.ONE) assert_vector(Vector2.ONE).is_greater_equal(Vector2.ONE) assert_vector(Vector2(1.2, 1.000001)).is_greater_equal(Vector2(1.2, 1.000001)) assert_vector(Vector2(1.2, 1.000002)).is_greater_equal(Vector2(1.2, 1.000001)) assert_failure(func(): assert_vector(Vector2.ZERO).is_greater_equal(Vector2.ONE)) \ .is_failed() \ .has_message("Expecting to be greater than or equal:\n '(1, 1)' but was '(0, 0)'") assert_failure(func(): assert_vector(Vector2(1.2, 1.000002)).is_greater_equal(Vector2(1.2, 1.000003))) \ .is_failed() \ .has_message("Expecting to be greater than or equal:\n '(1.2, 1.000003)' but was '(1.2, 1.000002)'") assert_failure(func(): assert_vector(null).is_greater_equal(Vector2(1.2, 1.000003))) \ .is_failed() \ .has_message("Expecting to be greater than or equal:\n '(1.2, 1.000003)' but was ''") assert_failure(func(): assert_vector(Vector2(1.2, 1.000002)).is_greater_equal(Vector3(1.2, 1.000003, 1.0))) \ .is_failed() \ .has_message("Unexpected type comparison:\n Expecting type 'Vector2' but is 'Vector3'") @warning_ignore("unused_parameter") func test_is_greater_equal_over_all_types(value, expected, test_parameters = [ [Vector2(1.0001, 1.0001), Vector2(1.0, 1.0)], [Vector2(1.0, 1.0), Vector2(1.0, 1.0)], [Vector2i(2, 1), Vector2i(1, 1)], [Vector2i(1, 1), Vector2i(1, 1)], [Vector3(1.0001, 1.0001, 1.0), Vector3(1.0, 1.0, 1.0)], [Vector3(1.0, 1.0, 1.0), Vector3(1.0, 1.0, 1.0)], [Vector3i(2, 1, 1), Vector3i(1, 1, 1)], [Vector3i(1, 1, 1), Vector3i(1, 1, 1)], [Vector4(1.0001, 1.0001, 1.0, 1.0), Vector4(1.0, 1.0, 1.0, 1.0)], [Vector4(1.0, 1.0, 1.0, 1.0), Vector4(1.0, 1.0, 1.0, 1.0)], [Vector4i(2, 1, 1, 1), Vector4i(1, 1, 1, 1)], [Vector4i(1, 1, 1, 1), Vector4i(1, 1, 1, 1)], ]) -> void: assert_vector(value).is_greater_equal(expected) func test_is_between(fuzzer = Fuzzers.rangev2(Vector2.ZERO, Vector2.ONE)): var value :Vector2 = fuzzer.next_value() assert_vector(value).is_between(Vector2.ZERO, Vector2.ONE) assert_failure(func(): assert_vector(Vector2(1, 1.00001)).is_between(Vector2.ZERO, Vector2.ONE)) \ .is_failed() \ .has_message("Expecting:\n '(1, 1.00001)'\n in range between\n '(0, 0)' <> '(1, 1)'") assert_failure(func(): assert_vector(null).is_between(Vector2.ZERO, Vector2.ONE)) \ .is_failed() \ .has_message("Expecting:\n ''\n in range between\n '(0, 0)' <> '(1, 1)'") assert_failure(func(): assert_vector(Vector2(1, 1.00001)).is_between(Vector2.ZERO, Vector3.ONE)) \ .is_failed() \ .has_message("Unexpected type comparison:\n Expecting type 'Vector2' but is 'Vector3'") @warning_ignore("unused_parameter") func test_is_between_over_all_types(value, from, to, test_parameters = [ [Vector2(1.2, 1.2), Vector2(1.0, 1.0), Vector2(1.2, 1.2)], [Vector2i(1, 1), Vector2i(1, 1), Vector2i(2, 2)], [Vector3(1.2, 1.2, 1.2), Vector3(1.0, 1.0, 1.0), Vector3(1.2, 1.2, 1.2)], [Vector3i(1, 1, 1), Vector3i(1, 1, 1), Vector3i(2, 2, 2)], [Vector4(1.2, 1.2, 1.2, 1.2), Vector4(1.0, 1.0, 1.0, 1.0), Vector4(1.2, 1.2, 1.2, 1.2)], [Vector4i(1, 1, 1, 1), Vector4i(1, 1, 1, 1), Vector4i(2, 2, 2, 2)], ]) -> void: assert_vector(value).is_between(from, to) func test_is_not_between(fuzzer = Fuzzers.rangev2(Vector2.ONE, Vector2.ONE*2)): var value :Vector2 = fuzzer.next_value() assert_vector(null).is_not_between(Vector2.ZERO, Vector2.ONE) assert_vector(value).is_not_between(Vector2.ZERO, Vector2.ONE) assert_failure(func(): assert_vector(Vector2.ONE).is_not_between(Vector2.ZERO, Vector2.ONE)) \ .is_failed() \ .has_message("Expecting:\n '(1, 1)'\n not in range between\n '(0, 0)' <> '(1, 1)'") assert_failure(func(): assert_vector(Vector2.ONE).is_not_between(Vector3.ZERO, Vector2.ONE)) \ .is_failed() \ .has_message("Unexpected type comparison:\n Expecting type 'Vector2' but is 'Vector3'") @warning_ignore("unused_parameter") func test_is_not_between_over_all_types(value, from, to, test_parameters = [ [Vector2(3.2, 1.2), Vector2(1.0, 1.0), Vector2(1.2, 1.2)], [Vector2i(3, 1), Vector2i(1, 1), Vector2i(2, 2)], [Vector3(3.2, 1.2, 1.2), Vector3(1.0, 1.0, 1.0), Vector3(1.2, 1.2, 1.2)], [Vector3i(3, 1, 1), Vector3i(1, 1, 1), Vector3i(2, 2, 2)], [Vector4(3.2, 1.2, 1.2, 1.2), Vector4(1.0, 1.0, 1.0, 1.0), Vector4(1.2, 1.2, 1.2, 1.2)], [Vector4i(3, 1, 1, 1), Vector4i(1, 1, 1, 1), Vector4i(2, 2, 2, 2)], ]) -> void: assert_vector(value).is_not_between(from, to) func test_override_failure_message() -> void: assert_failure(func(): assert_vector(Vector2.ONE) \ .override_failure_message("Custom failure message") \ .is_null()) \ .is_failed() \ .has_message("Custom failure message") # tests if an assert fails the 'is_failure' reflects the failure status func test_is_failure() -> void: # initial is false assert_bool(is_failure()).is_false() # checked success assert assert_vector(null).is_null() assert_bool(is_failure()).is_false() # checked faild assert assert_failure(func(): assert_vector(RefCounted.new()).is_null()) \ .is_failed() assert_bool(is_failure()).is_true() # checked next success assert assert_vector(null).is_null() # is true because we have an already failed assert assert_bool(is_failure()).is_true()