31 lines
917 B
Ruby
31 lines
917 B
Ruby
require "minitest/autorun"
|
|
require "directions"
|
|
|
|
class TestDirections < ::Minitest::Test
|
|
def test_zero_examples
|
|
assert_equal(0, Directions.for("(())").final_floor)
|
|
assert_equal(0, Directions.for("()()").final_floor)
|
|
end
|
|
|
|
def test_three_examples
|
|
assert_equal(3, Directions.for("(((").final_floor)
|
|
assert_equal(3, Directions.for("(()(()(").final_floor)
|
|
assert_equal(3, Directions.for("))(((((").final_floor)
|
|
end
|
|
|
|
def test_negative_one_examples
|
|
assert_equal(-1, Directions.for("())").final_floor)
|
|
assert_equal(-1, Directions.for("))(").final_floor)
|
|
end
|
|
|
|
def test_negative_three_examples
|
|
assert_equal(-3, Directions.for(")))").final_floor)
|
|
assert_equal(-3, Directions.for(")())())").final_floor)
|
|
end
|
|
|
|
def test_first_basement_floor
|
|
assert_equal(1, Directions.for(")").first_basement_step)
|
|
assert_equal(5, Directions.for("()())").first_basement_step)
|
|
end
|
|
end
|