summaryrefslogtreecommitdiff
path: root/addons/gdUnit4/src/asserts/GdUnitFloatAssertImpl.gd
diff options
context:
space:
mode:
authorradiohotline <radoihotline@disroot.rg>2026-08-25 16:33:56 +0300
committerradiohotline <radoihotline@disroot.rg>2026-08-25 16:33:56 +0300
commita89e744ed0e8c759caf041a580112365bbfe4303 (patch)
treedd61e320904176995727e86a857d00c90d4933ba /addons/gdUnit4/src/asserts/GdUnitFloatAssertImpl.gd
parent6d53d8cac78250dc888aa49d5f9d4175c6652feb (diff)
escoria updateHEADmain
Diffstat (limited to 'addons/gdUnit4/src/asserts/GdUnitFloatAssertImpl.gd')
-rw-r--r--addons/gdUnit4/src/asserts/GdUnitFloatAssertImpl.gd159
1 files changed, 159 insertions, 0 deletions
diff --git a/addons/gdUnit4/src/asserts/GdUnitFloatAssertImpl.gd b/addons/gdUnit4/src/asserts/GdUnitFloatAssertImpl.gd
new file mode 100644
index 0000000..83d7e05
--- /dev/null
+++ b/addons/gdUnit4/src/asserts/GdUnitFloatAssertImpl.gd
@@ -0,0 +1,159 @@
+extends GdUnitFloatAssert
+
+var _base: GdUnitAssertImpl
+
+
+func _init(current :Variant) -> void:
+ _base = GdUnitAssertImpl.new(current)
+ # save the actual assert instance on the current thread context
+ GdUnitThreadManager.get_current_context().set_assert(self)
+ if not GdUnitAssertions.validate_value_type(current, TYPE_FLOAT):
+ @warning_ignore("return_value_discarded")
+ report_error("GdUnitFloatAssert inital error, unexpected type <%s>" % GdObjects.typeof_as_string(current))
+
+
+func _notification(event :int) -> void:
+ if event == NOTIFICATION_PREDELETE:
+ if _base != null:
+ _base.notification(event)
+ _base = null
+
+
+func current_value() -> Variant:
+ return _base.current_value()
+
+
+func report_success() -> GdUnitFloatAssert:
+ @warning_ignore("return_value_discarded")
+ _base.report_success()
+ return self
+
+
+func report_error(error :String) -> GdUnitFloatAssert:
+ @warning_ignore("return_value_discarded")
+ _base.report_error(error)
+ return self
+
+
+func failure_message() -> String:
+ return _base.failure_message()
+
+
+func override_failure_message(message: String) -> GdUnitFloatAssert:
+ @warning_ignore("return_value_discarded")
+ _base.override_failure_message(message)
+ return self
+
+
+func append_failure_message(message: String) -> GdUnitFloatAssert:
+ @warning_ignore("return_value_discarded")
+ _base.append_failure_message(message)
+ return self
+
+
+func is_null() -> GdUnitFloatAssert:
+ @warning_ignore("return_value_discarded")
+ _base.is_null()
+ return self
+
+
+func is_not_null() -> GdUnitFloatAssert:
+ @warning_ignore("return_value_discarded")
+ _base.is_not_null()
+ return self
+
+
+func is_equal(expected: Variant) -> GdUnitFloatAssert:
+ @warning_ignore("return_value_discarded")
+ _base.is_equal(expected)
+ return self
+
+
+func is_not_equal(expected: Variant) -> GdUnitFloatAssert:
+ @warning_ignore("return_value_discarded")
+ _base.is_not_equal(expected)
+ return self
+
+
+@warning_ignore("shadowed_global_identifier")
+func is_equal_approx(expected :float, approx :float) -> GdUnitFloatAssert:
+ return is_between(expected-approx, expected+approx)
+
+
+func is_less(expected :float) -> GdUnitFloatAssert:
+ var current :Variant = current_value()
+ if current == null or current >= expected:
+ return report_error(GdAssertMessages.error_is_value(Comparator.LESS_THAN, current, expected))
+ return report_success()
+
+
+func is_less_equal(expected :float) -> GdUnitFloatAssert:
+ var current :Variant = current_value()
+ if current == null or current > expected:
+ return report_error(GdAssertMessages.error_is_value(Comparator.LESS_EQUAL, current, expected))
+ return report_success()
+
+
+func is_greater(expected :float) -> GdUnitFloatAssert:
+ var current :Variant = current_value()
+ if current == null or current <= expected:
+ return report_error(GdAssertMessages.error_is_value(Comparator.GREATER_THAN, current, expected))
+ return report_success()
+
+
+func is_greater_equal(expected :float) -> GdUnitFloatAssert:
+ var current :Variant = current_value()
+ if current == null or current < expected:
+ return report_error(GdAssertMessages.error_is_value(Comparator.GREATER_EQUAL, current, expected))
+ return report_success()
+
+
+func is_negative() -> GdUnitFloatAssert:
+ var current :Variant = current_value()
+ if current == null or current >= 0.0:
+ return report_error(GdAssertMessages.error_is_negative(current))
+ return report_success()
+
+
+func is_not_negative() -> GdUnitFloatAssert:
+ var current :Variant = current_value()
+ if current == null or current < 0.0:
+ return report_error(GdAssertMessages.error_is_not_negative(current))
+ return report_success()
+
+
+func is_zero() -> GdUnitFloatAssert:
+ var current :Variant = current_value()
+ @warning_ignore("unsafe_cast")
+ if current == null or not is_equal_approx(0.00000000, current as float):
+ return report_error(GdAssertMessages.error_is_zero(current))
+ return report_success()
+
+
+func is_not_zero() -> GdUnitFloatAssert:
+ var current :Variant = current_value()
+ @warning_ignore("unsafe_cast")
+ if current == null or is_equal_approx(0.00000000, current as float):
+ return report_error(GdAssertMessages.error_is_not_zero())
+ return report_success()
+
+
+func is_in(expected :Array) -> GdUnitFloatAssert:
+ var current :Variant = current_value()
+ if not expected.has(current):
+ return report_error(GdAssertMessages.error_is_in(current, expected))
+ return report_success()
+
+
+func is_not_in(expected :Array) -> GdUnitFloatAssert:
+ var current :Variant = current_value()
+ if expected.has(current):
+ return report_error(GdAssertMessages.error_is_not_in(current, expected))
+ return report_success()
+
+
+func is_between(from :float, to :float) -> GdUnitFloatAssert:
+ var current :Variant = current_value()
+ if current == null or current < from or current > to:
+ return report_error(GdAssertMessages.error_is_value(Comparator.BETWEEN_EQUAL, current, from, to))
+ return report_success()