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