# How to run the unit test: # # % ruby search.rb # Loaded suite search # Started # ... # Finished in 0.002494 seconds. # # 3 tests, 20 assertions, 0 failures, 0 errors # def search(obj, val) # report end if __FILE__ == $0 require 'test/unit' class TestSearch < Test::Unit::TestCase def test_empty assert_equal(false, search([], 1)) end def test_flat assert_equal(false, search([1], 0)) assert_equal(true, search([1], 1)) assert_equal(false, search([1], 2)) assert_equal(false, search([1,2], 0)) assert_equal(true, search([1,2], 1)) assert_equal(true, search([1,2], 2)) assert_equal(false, search([1,2,3], 0)) assert_equal(true, search([1,2,3], 1)) assert_equal(true, search([1,2,3], 2)) end def test_nest assert_equal(false, search([[]], 2)) assert_equal(true, search([[1]], 1)) assert_equal(false, search([[1],[],[2,3,[[[4,5],6]]]], 0)) assert_equal(true, search([[1],[],[2,3,[[[4,5],6]]]], 1)) assert_equal(true, search([[1],[],[2,3,[[[4,5],6]]]], 2)) assert_equal(true, search([[1],[],[2,3,[[[4,5],6]]]], 3)) assert_equal(true, search([[1],[],[2,3,[[[4,5],6]]]], 4)) assert_equal(true, search([[1],[],[2,3,[[[4,5],6]]]], 5)) assert_equal(true, search([[1],[],[2,3,[[[4,5],6]]]], 6)) assert_equal(false, search([[1],[],[2,3,[[[4,5],6]]]], 7)) end end end