Skip to content

Commit e8e1c0c

Browse files
committed
Moviegoer and SimpleCalculator accept exceptions from both scopes
The tests for these two learning exercises now check whether the expected exception has been defined inside or outside the main class. Solves issue #6772
1 parent 65ecee6 commit e8e1c0c

File tree

2 files changed

+8
-4
lines changed

2 files changed

+8
-4
lines changed

exercises/concept/moviegoer/moviegoer_test.rb

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -23,7 +23,8 @@ def test_members_get_free_popcorn
2323
end
2424

2525
def test_regular_moviegoers_dont_get_free_popcorn
26-
assert_raises NotMovieClubMemberError do
26+
expected_exception=Moviegoer.include?(NotMovieClubMemberError)?(Moviegoer::NotMovieClubMemberError):NotMovieClubMemberError
27+
assert_raises expected_exception do
2728
Moviegoer.new(25, member: false).claim_free_popcorn!
2829
end
2930
end

exercises/concept/simple-calculator/simple_calculator_test.rb

Lines changed: 6 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -27,14 +27,17 @@ def test_no_number_second_operand_raises_exception
2727
end
2828

2929
def test_raises_exception_for_non_valid_operations
30-
assert_raises(SimpleCalculator::UnsupportedOperation) { SimpleCalculator.calculate(1, 2, '**') }
30+
expected_exception=SimpleCalculator.include?(UnsupportedOperation)?(SimpleCalculator::UnsupportedOperation):UnsupportedOperation
31+
assert_raises(expected_exception) { SimpleCalculator.calculate(1, 2, '**') }
3132
end
3233

3334
def test_raises_exception_when_operation_is_nil
34-
assert_raises(SimpleCalculator::UnsupportedOperation) { SimpleCalculator.calculate(1, 2, nil) }
35+
expected_exception=SimpleCalculator.include?(UnsupportedOperation)?(SimpleCalculator::UnsupportedOperation):UnsupportedOperation
36+
assert_raises(expected_exception) { SimpleCalculator.calculate(1, 2, nil) }
3537
end
3638

3739
def test_raises_exception_when_operation_is_an_empty_string
38-
assert_raises(SimpleCalculator::UnsupportedOperation) { SimpleCalculator.calculate(1, 2, '') }
40+
expected_exception=SimpleCalculator.include?(UnsupportedOperation)?(SimpleCalculator::UnsupportedOperation):UnsupportedOperation
41+
assert_raises(expected_exception) { SimpleCalculator.calculate(1, 2, '') }
3942
end
4043
end

0 commit comments

Comments
 (0)