test/unit/default_suite_tests.rb in assert-2.15.2 vs test/unit/default_suite_tests.rb in assert-2.16.0

- old
+ new

@@ -6,68 +6,91 @@ class Assert::DefaultSuite class UnitTests < Assert::Context desc "Assert::DefaultSuite" setup do + ci = Factory.context_info(Factory.modes_off_context_class) + @test = Factory.test(Factory.string, ci){ } + @config = Factory.modes_off_config @suite = Assert::DefaultSuite.new(@config) - - ci = Factory.context_info(Factory.modes_off_context_class) - [ Factory.test("should nothing", ci){ }, - Factory.test("should pass", ci){ assert(1==1); refute(1==0) }, - Factory.test("should fail", ci){ ignore; assert(1==0); refute(1==1) }, - Factory.test("should ignored", ci){ ignore }, - Factory.test("should skip", ci){ skip; ignore; assert(1==1) }, - Factory.test("should error", ci){ raise Exception; ignore; assert(1==1) } - ].each{ |test| @suite.tests << test } - @suite.tests.each(&:run) end subject{ @suite } should "be a Suite" do assert_kind_of Assert::Suite, subject end - should "know its test and result attrs" do - assert_equal 6, subject.tests.size - assert_kind_of Assert::Test, subject.tests.first + should "default its test/result counts" do + assert_equal 0, subject.test_count + assert_equal 0, subject.result_count + assert_equal 0, subject.pass_result_count + assert_equal 0, subject.fail_result_count + assert_equal 0, subject.error_result_count + assert_equal 0, subject.skip_result_count + assert_equal 0, subject.ignore_result_count + end - assert_equal subject.tests.size, subject.test_count - assert_equal subject.tests, subject.ordered_tests + should "increment its test count on `before_test`" do + subject.before_test(@test) + assert_equal 1, subject.test_count + end - exp = subject.ordered_tests.sort{ |a, b| a.run_time <=> b.run_time } - assert_equal exp, subject.ordered_tests_by_run_time + should "increment its result counts on `on_result`" do + subject.on_result(Factory.pass_result) + assert_equal 1, subject.result_count + assert_equal 1, subject.pass_result_count + assert_equal 0, subject.fail_result_count + assert_equal 0, subject.error_result_count + assert_equal 0, subject.skip_result_count + assert_equal 0, subject.ignore_result_count - assert_equal 8, subject.result_count + subject.on_result(Factory.fail_result) + assert_equal 2, subject.result_count + assert_equal 1, subject.pass_result_count + assert_equal 1, subject.fail_result_count + assert_equal 0, subject.error_result_count + assert_equal 0, subject.skip_result_count + assert_equal 0, subject.ignore_result_count - exp = subject.ordered_tests.inject([]){ |results, t| results += t.results } - assert_equal exp, subject.ordered_results + subject.on_result(Factory.error_result) + assert_equal 3, subject.result_count + assert_equal 1, subject.pass_result_count + assert_equal 1, subject.fail_result_count + assert_equal 1, subject.error_result_count + assert_equal 0, subject.skip_result_count + assert_equal 0, subject.ignore_result_count - assert_equal 2, subject.result_count(:pass) - assert_equal 2, subject.result_count(:fail) - assert_equal 2, subject.result_count(:ignore) - assert_equal 1, subject.result_count(:skip) - assert_equal 1, subject.result_count(:error) + subject.on_result(Factory.skip_result) + assert_equal 4, subject.result_count + assert_equal 1, subject.pass_result_count + assert_equal 1, subject.fail_result_count + assert_equal 1, subject.error_result_count + assert_equal 1, subject.skip_result_count + assert_equal 0, subject.ignore_result_count + + subject.on_result(Factory.ignore_result) + assert_equal 5, subject.result_count + assert_equal 1, subject.pass_result_count + assert_equal 1, subject.fail_result_count + assert_equal 1, subject.error_result_count + assert_equal 1, subject.skip_result_count + assert_equal 1, subject.ignore_result_count end - should "count its tests and results" do - assert_equal subject.test_count, subject.count(:tests) - assert_equal subject.result_count, subject.count(:results) + should "clear the run data on `on_start`" do + subject.before_test(@test) + subject.on_result(Factory.pass_result) - assert_equal subject.result_count(:pass), subject.count(:passed) - assert_equal subject.result_count(:pass), subject.count(:pass) + assert_equal 1, subject.test_count + assert_equal 1, subject.result_count + assert_equal 1, subject.pass_result_count - assert_equal subject.result_count(:fail), subject.count(:failed) - assert_equal subject.result_count(:fail), subject.count(:fail) + subject.on_start - assert_equal subject.result_count(:ignore), subject.count(:ignored) - assert_equal subject.result_count(:ignore), subject.count(:ignore) - - assert_equal subject.result_count(:skip), subject.count(:skipped) - assert_equal subject.result_count(:skip), subject.count(:skip) - - assert_equal subject.result_count(:error), subject.count(:errored) - assert_equal subject.result_count(:error), subject.count(:error) + assert_equal 0, subject.test_count + assert_equal 0, subject.result_count + assert_equal 0, subject.pass_result_count end end end