84 lines
3.4 KiB
GDScript
84 lines
3.4 KiB
GDScript
# GdUnit generated TestSuite
|
|
class_name InspectorProgressBarTest
|
|
extends GdUnitTestSuite
|
|
@warning_ignore('unused_parameter')
|
|
@warning_ignore('return_value_discarded')
|
|
|
|
# TestSuite generated from
|
|
const __source = 'res://addons/gdUnit4/src/ui/parts/InspectorProgressBar.gd'
|
|
|
|
var _runner :GdUnitSceneRunner
|
|
var _progress :ProgressBar
|
|
var _status :Label
|
|
var _style :StyleBoxFlat
|
|
|
|
|
|
func before_test():
|
|
_runner = scene_runner('res://addons/gdUnit4/src/ui/parts/InspectorProgressBar.tscn')
|
|
_progress = _runner.get_property("bar")
|
|
_status = _runner.get_property("status")
|
|
_style = _runner.get_property("style")
|
|
# inital state
|
|
assert_that(_status.text).is_equal("0:0")
|
|
assert_that(_progress.value).is_equal(0)
|
|
assert_that(_progress.max_value).is_equal(0)
|
|
_runner.invoke("_on_gdunit_event", GdUnitInit.new(10, 42))
|
|
|
|
|
|
func test_progress_init() -> void:
|
|
_runner.invoke("_on_gdunit_event", GdUnitInit.new(10, 230))
|
|
assert_that(_progress.value).is_equal(0)
|
|
assert_that(_progress.max_value).is_equal(230)
|
|
assert_that(_status.text).is_equal("0:230")
|
|
assert_that(_style.bg_color).is_equal(Color.DARK_GREEN)
|
|
|
|
|
|
func test_progress_success() -> void:
|
|
_runner.invoke("_on_gdunit_event", GdUnitInit.new(10, 42))
|
|
var expected_progess_index := 0
|
|
# simulate execution of 20 success test runs
|
|
for index in 20:
|
|
_runner.invoke("_on_gdunit_event", GdUnitEvent.new().test_after("res://test/testA.gd", "TestSuiteA", "test_a%d" % index, {}))
|
|
expected_progess_index += 1
|
|
assert_that(_progress.value).is_equal(expected_progess_index)
|
|
assert_that(_status.text).is_equal("%d:42" % expected_progess_index)
|
|
assert_that(_style.bg_color).is_equal(Color.DARK_GREEN)
|
|
|
|
# simulate execution of parameterized test with 10 iterations
|
|
for index in 10:
|
|
_runner.invoke("_on_gdunit_event", GdUnitEvent.new().test_after("res://test/testA.gd", "TestSuiteA", "test_parameterized:%d (params)" % index, {}))
|
|
assert_that(_progress.value).is_equal(expected_progess_index)
|
|
# final test end event
|
|
_runner.invoke("_on_gdunit_event", GdUnitEvent.new().test_after("res://test/testA.gd", "TestSuiteA", "test_parameterized", {}))
|
|
# we expect only one progress step after a parameterized test has been executed, regardless of the iterations
|
|
expected_progess_index += 1
|
|
assert_that(_progress.value).is_equal(expected_progess_index)
|
|
assert_that(_status.text).is_equal("%d:42" % expected_progess_index)
|
|
assert_that(_style.bg_color).is_equal(Color.DARK_GREEN)
|
|
|
|
# verify the max progress state is not affected
|
|
assert_that(_progress.max_value).is_equal(42)
|
|
|
|
|
|
@warning_ignore("unused_parameter")
|
|
func test_progress_failed(test_name :String, is_failed :bool, is_error :bool, expected_color :Color, test_parameters = [
|
|
["test_a", false, false, Color.DARK_GREEN],
|
|
["test_b", false, false, Color.DARK_GREEN],
|
|
["test_c", false, false, Color.DARK_GREEN],
|
|
["test_d", true, false, Color.DARK_RED],
|
|
["test_e", true, false, Color.DARK_RED],
|
|
]) -> void:
|
|
var statistics = {
|
|
GdUnitEvent.ORPHAN_NODES: 0,
|
|
GdUnitEvent.ELAPSED_TIME: 100,
|
|
GdUnitEvent.WARNINGS: false,
|
|
GdUnitEvent.ERRORS: is_error,
|
|
GdUnitEvent.ERROR_COUNT: 1 if is_error else 0,
|
|
GdUnitEvent.FAILED: is_failed,
|
|
GdUnitEvent.FAILED_COUNT: 1 if is_failed else 0,
|
|
GdUnitEvent.SKIPPED: false,
|
|
GdUnitEvent.SKIPPED_COUNT: 0,
|
|
}
|
|
|
|
_runner.invoke("_on_gdunit_event", GdUnitEvent.new().test_after("res://test/testA.gd", "TestSuiteA", test_name, statistics))
|
|
assert_that(_style.bg_color).is_equal(expected_color)
|