60 lines
1.7 KiB
GDScript
60 lines
1.7 KiB
GDScript
class_name HankAssert
|
|
|
|
func _init() -> void:
|
|
pass
|
|
|
|
static func _assert(condition: bool, message: String) -> void:
|
|
if (condition):
|
|
HankAssert._pass(message)
|
|
else:
|
|
HankAssert.fail(message)
|
|
|
|
static func _pass(message: String) -> void:
|
|
message = " ✓" + message
|
|
LogUtil.cleanTrace(message)
|
|
|
|
static func fail(message: String) -> void:
|
|
message = " ✗" + message
|
|
LogUtil.cleanTrace(message)
|
|
|
|
static func equals(expected, actual, pos = null) -> void:
|
|
var verboseMessage: String = " Asserting that " + str(actual) + " is expected value " + str(expected)
|
|
|
|
HankAssert._assert(str(expected) == str(actual), verboseMessage)
|
|
|
|
static func contains(expected: String, actual: String) -> void:
|
|
var verboseMessage: String = " Asserting that \"" + actual + "\" contains \"" + expected + "\""
|
|
|
|
HankAssert._assert(actual.find(expected) != -1, verboseMessage)
|
|
|
|
static func notContains(unexpected: String, actual: String) -> void:
|
|
var verboseMessage: String = " Asserting that \"" + actual + "\" does not contain \"" + unexpected + "\""
|
|
|
|
HankAssert._assert(actual.find(unexpected) == -1, verboseMessage)
|
|
|
|
static func isSome(option: Variant) -> void:
|
|
var verboseMessage: String = " Asserting that " + str(option) + " is Some(_)"
|
|
|
|
match (option._index):
|
|
0:
|
|
var _g = option.v
|
|
HankAssert._pass(verboseMessage)
|
|
1:
|
|
HankAssert.fail(verboseMessage)
|
|
|
|
static func isNone(option: Variant) -> void:
|
|
var verboseMessage: String = " Asserting that " + str(option) + " is None"
|
|
|
|
match (option._index):
|
|
0:
|
|
var _g = option.v
|
|
HankAssert.fail(verboseMessage)
|
|
1:
|
|
HankAssert._pass(verboseMessage)
|
|
|
|
static func throws(f, message = null) -> void:
|
|
if true:
|
|
f.call()
|
|
HankAssert.fail("Expected an exception to be thrown")
|
|
|