222 lines
9.2 KiB
GDScript
222 lines
9.2 KiB
GDScript
# GdUnit generated TestSuite
|
|
class_name GdUnitExecutionContextTest
|
|
extends GdUnitTestSuite
|
|
@warning_ignore('unused_parameter')
|
|
@warning_ignore('return_value_discarded')
|
|
|
|
# TestSuite generated from
|
|
const __source = 'res://addons/gdUnit4/src/core/execution/GdUnitExecutionContext.gd'
|
|
|
|
|
|
func add_report(ec :GdUnitExecutionContext, report :GdUnitReport) -> void:
|
|
ec._report_collector.on_reports(ec.get_instance_id(), report)
|
|
|
|
|
|
func assert_statistics(ec :GdUnitExecutionContext):
|
|
assert_that(ec.has_failures()).is_false()
|
|
assert_that(ec.has_errors()).is_false()
|
|
assert_that(ec.has_warnings()).is_false()
|
|
assert_that(ec.has_skipped()).is_false()
|
|
assert_that(ec.count_failures(true)).is_equal(0)
|
|
assert_that(ec.count_errors(true)).is_equal(0)
|
|
assert_that(ec.count_skipped(true)).is_equal(0)
|
|
assert_that(ec.count_orphans()).is_equal(0)
|
|
assert_dict(ec.build_report_statistics(0))\
|
|
.contains_key_value(GdUnitEvent.FAILED, false)\
|
|
.contains_key_value(GdUnitEvent.ERRORS, false)\
|
|
.contains_key_value(GdUnitEvent.WARNINGS, false)\
|
|
.contains_key_value(GdUnitEvent.SKIPPED, false)\
|
|
.contains_key_value(GdUnitEvent.ORPHAN_NODES, 0)\
|
|
.contains_key_value(GdUnitEvent.FAILED_COUNT, 0)\
|
|
.contains_key_value(GdUnitEvent.ERROR_COUNT, 0)\
|
|
.contains_key_value(GdUnitEvent.SKIPPED_COUNT, 0)\
|
|
.contains_keys([GdUnitEvent.ELAPSED_TIME])
|
|
|
|
|
|
func test_create_context_of_test_suite() -> void:
|
|
var ts :GdUnitTestSuite = auto_free(GdUnitTestSuite.new())
|
|
var ec := GdUnitExecutionContext.of_test_suite(ts)
|
|
# verify the current context is not affected by this test itself
|
|
assert_object(__execution_context).is_not_same(ec)
|
|
|
|
# verify the execution context is assigned to the test suite
|
|
assert_object(ts.__execution_context).is_same(ec)
|
|
|
|
# verify execution context is fully initialized
|
|
assert_that(ec).is_not_null()
|
|
assert_object(ec.test_suite).is_same(ts)
|
|
assert_object(ec.test_case).is_null()
|
|
assert_array(ec._sub_context).is_empty()
|
|
assert_object(ec._orphan_monitor).is_not_null()
|
|
assert_object(ec._memory_observer).is_not_null()
|
|
assert_object(ec._report_collector).is_not_null()
|
|
assert_statistics(ec)
|
|
ec.dispose()
|
|
|
|
|
|
func test_create_context_of_test_case() -> void:
|
|
var ts :GdUnitTestSuite = auto_free(GdUnitTestSuite.new())
|
|
var tc :_TestCase = auto_free(_TestCase.new().configure("test_case1", 0, ""))
|
|
ts.add_child(tc)
|
|
var ec1 := GdUnitExecutionContext.of_test_suite(ts)
|
|
var ec2 := GdUnitExecutionContext.of_test_case(ec1, "test_case1")
|
|
# verify the current context is not affected by this test itself
|
|
assert_object(__execution_context).is_not_same(ec1)
|
|
assert_object(__execution_context).is_not_same(ec2)
|
|
|
|
# verify current execution contest is assigned to the test suite
|
|
assert_object(ts.__execution_context).is_same(ec2)
|
|
# verify execution context is fully initialized
|
|
assert_that(ec2).is_not_null()
|
|
assert_object(ec2.test_suite).is_same(ts)
|
|
assert_object(ec2.test_case).is_same(tc)
|
|
assert_array(ec2._sub_context).is_empty()
|
|
assert_object(ec2._orphan_monitor).is_not_null().is_not_same(ec1._orphan_monitor)
|
|
assert_object(ec2._memory_observer).is_not_null().is_not_same(ec1._memory_observer)
|
|
assert_object(ec2._report_collector).is_not_null().is_not_same(ec1._report_collector)
|
|
assert_statistics(ec2)
|
|
# check parent context ec1 is still valid
|
|
assert_that(ec1).is_not_null()
|
|
assert_object(ec1.test_suite).is_same(ts)
|
|
assert_object(ec1.test_case).is_null()
|
|
assert_array(ec1._sub_context).contains_exactly([ec2])
|
|
assert_object(ec1._orphan_monitor).is_not_null()
|
|
assert_object(ec1._memory_observer).is_not_null()
|
|
assert_object(ec1._report_collector).is_not_null()
|
|
assert_statistics(ec1)
|
|
ec1.dispose()
|
|
|
|
|
|
func test_create_context_of_test() -> void:
|
|
var ts :GdUnitTestSuite = auto_free(GdUnitTestSuite.new())
|
|
var tc :_TestCase = auto_free(_TestCase.new().configure("test_case1", 0, ""))
|
|
ts.add_child(tc)
|
|
var ec1 := GdUnitExecutionContext.of_test_suite(ts)
|
|
var ec2 := GdUnitExecutionContext.of_test_case(ec1, "test_case1")
|
|
var ec3 := GdUnitExecutionContext.of(ec2)
|
|
# verify the current context is not affected by this test itself
|
|
assert_object(__execution_context).is_not_same(ec1)
|
|
assert_object(__execution_context).is_not_same(ec2)
|
|
assert_object(__execution_context).is_not_same(ec3)
|
|
|
|
# verify current execution contest is assigned to the test suite
|
|
assert_object(ts.__execution_context).is_same(ec3)
|
|
# verify execution context is fully initialized
|
|
assert_that(ec3).is_not_null()
|
|
assert_object(ec3.test_suite).is_same(ts)
|
|
assert_object(ec3.test_case).is_same(tc)
|
|
assert_array(ec3._sub_context).is_empty()
|
|
assert_object(ec3._orphan_monitor).is_not_null()\
|
|
.is_not_same(ec1._orphan_monitor)\
|
|
.is_not_same(ec2._orphan_monitor)
|
|
assert_object(ec3._memory_observer).is_not_null()\
|
|
.is_not_same(ec1._memory_observer)\
|
|
.is_not_same(ec2._memory_observer)
|
|
assert_object(ec3._report_collector).is_not_null()\
|
|
.is_not_same(ec1._report_collector)\
|
|
.is_not_same(ec2._report_collector)
|
|
assert_statistics(ec3)
|
|
# check parent context ec2 is still valid
|
|
assert_that(ec2).is_not_null()
|
|
assert_object(ec2.test_suite).is_same(ts)
|
|
assert_object(ec2.test_case).is_same(tc)
|
|
assert_array(ec2._sub_context).contains_exactly([ec3])
|
|
assert_object(ec2._orphan_monitor).is_not_null()\
|
|
.is_not_same(ec1._orphan_monitor)
|
|
assert_object(ec2._memory_observer).is_not_null()\
|
|
.is_not_same(ec1._memory_observer)
|
|
assert_object(ec2._report_collector).is_not_null()\
|
|
.is_not_same(ec1._report_collector)
|
|
assert_statistics(ec2)
|
|
# check parent context ec1 is still valid
|
|
assert_that(ec1).is_not_null()
|
|
assert_object(ec1.test_suite).is_same(ts)
|
|
assert_object(ec1.test_case).is_null()
|
|
assert_array(ec1._sub_context).contains_exactly([ec2])
|
|
assert_object(ec1._orphan_monitor).is_not_null()
|
|
assert_object(ec1._memory_observer).is_not_null()
|
|
assert_object(ec1._report_collector).is_not_null()
|
|
assert_statistics(ec1)
|
|
ec1.dispose()
|
|
|
|
|
|
func test_report_collectors() -> void:
|
|
# setup
|
|
var ts :GdUnitTestSuite = auto_free(GdUnitTestSuite.new())
|
|
var tc :_TestCase = auto_free(_TestCase.new().configure("test_case1", 0, ""))
|
|
ts.add_child(tc)
|
|
var ec1 := GdUnitExecutionContext.of_test_suite(ts)
|
|
var ec2 := GdUnitExecutionContext.of_test_case(ec1, "test_case1")
|
|
var ec3 := GdUnitExecutionContext.of(ec2)
|
|
|
|
# add reports
|
|
var failure11 := GdUnitReport.new().create(GdUnitReport.FAILURE, 1, "error_ec11")
|
|
add_report(ec1, failure11)
|
|
var failure21 := GdUnitReport.new().create(GdUnitReport.FAILURE, 3, "error_ec21")
|
|
var failure22 := GdUnitReport.new().create(GdUnitReport.FAILURE, 3, "error_ec22")
|
|
add_report(ec2, failure21)
|
|
add_report(ec2, failure22)
|
|
var failure31 := GdUnitReport.new().create(GdUnitReport.FAILURE, 3, "error_ec31")
|
|
var failure32 := GdUnitReport.new().create(GdUnitReport.FAILURE, 3, "error_ec32")
|
|
var failure33 := GdUnitReport.new().create(GdUnitReport.FAILURE, 3, "error_ec33")
|
|
add_report(ec3, failure31)
|
|
add_report(ec3, failure32)
|
|
add_report(ec3, failure33)
|
|
# verify
|
|
assert_array(ec1.reports()).contains_exactly([failure11])
|
|
assert_array(ec2.reports()).contains_exactly([failure21, failure22])
|
|
assert_array(ec3.reports()).contains_exactly([failure31, failure32, failure33])
|
|
ec1.dispose()
|
|
|
|
|
|
func test_has_and_count_failures() -> void:
|
|
# setup
|
|
var ts :GdUnitTestSuite = auto_free(GdUnitTestSuite.new())
|
|
var tc :_TestCase = auto_free(_TestCase.new().configure("test_case1", 0, ""))
|
|
ts.add_child(tc)
|
|
var ec1 := GdUnitExecutionContext.of_test_suite(ts)
|
|
var ec2 := GdUnitExecutionContext.of_test_case(ec1, "test_case1")
|
|
var ec3 := GdUnitExecutionContext.of(ec2)
|
|
|
|
# precheck
|
|
assert_that(ec1.has_failures()).is_false()
|
|
assert_that(ec1.count_failures(true)).is_equal(0)
|
|
assert_that(ec2.has_failures()).is_false()
|
|
assert_that(ec2.count_failures(true)).is_equal(0)
|
|
assert_that(ec3.has_failures()).is_false()
|
|
assert_that(ec3.count_failures(true)).is_equal(0)
|
|
|
|
# add four failure report to test
|
|
add_report(ec3, GdUnitReport.new().create(GdUnitReport.FAILURE, 42, "error_ec31"))
|
|
add_report(ec3, GdUnitReport.new().create(GdUnitReport.FAILURE, 43, "error_ec32"))
|
|
add_report(ec3, GdUnitReport.new().create(GdUnitReport.FAILURE, 44, "error_ec33"))
|
|
add_report(ec3, GdUnitReport.new().create(GdUnitReport.FAILURE, 45, "error_ec34"))
|
|
# verify
|
|
assert_that(ec1.has_failures()).is_true()
|
|
assert_that(ec1.count_failures(true)).is_equal(4)
|
|
assert_that(ec2.has_failures()).is_true()
|
|
assert_that(ec2.count_failures(true)).is_equal(4)
|
|
assert_that(ec3.has_failures()).is_true()
|
|
assert_that(ec3.count_failures(true)).is_equal(4)
|
|
|
|
# add two failure report to test_case_stage
|
|
add_report(ec2, GdUnitReport.new().create(GdUnitReport.FAILURE, 42, "error_ec21"))
|
|
add_report(ec2, GdUnitReport.new().create(GdUnitReport.FAILURE, 43, "error_ec22"))
|
|
# verify
|
|
assert_that(ec1.has_failures()).is_true()
|
|
assert_that(ec1.count_failures(true)).is_equal(6)
|
|
assert_that(ec2.has_failures()).is_true()
|
|
assert_that(ec2.count_failures(true)).is_equal(6)
|
|
assert_that(ec3.has_failures()).is_true()
|
|
assert_that(ec3.count_failures(true)).is_equal(4)
|
|
|
|
# add one failure report to test_suite_stage
|
|
add_report(ec1, GdUnitReport.new().create(GdUnitReport.FAILURE, 42, "error_ec1"))
|
|
# verify
|
|
assert_that(ec1.has_failures()).is_true()
|
|
assert_that(ec1.count_failures(true)).is_equal(7)
|
|
assert_that(ec2.has_failures()).is_true()
|
|
assert_that(ec2.count_failures(true)).is_equal(6)
|
|
assert_that(ec3.has_failures()).is_true()
|
|
assert_that(ec3.count_failures(true)).is_equal(4)
|
|
ec1.dispose()
|