Я пытаюсь вызвать 2 исключения, когда одна из моих переменных больше 13 или меньше 1
Также я хочу вызвать исключение, если тип моей карты не относится к определенному типу.
это мой код:
require "../lib/suit"
class Card
attr_reader :suit,:number
def initialize(suit,number)
raise "CardNumberNotValid" if 1>number>13
raise "SuitNotValid" if suit!=Suit::CLUB or suit!=Suit::HEART or suit!=Suit::DIAMOND or suit!=Suit::SPADE
@suit=suit
@number=number
end
end
и это мой тест:
require "rspec"
require "../lib/suit"
require "../lib/card"
describe Card do
it "should check if card number is between 1 and 13" do
expect{Card.new(Suit::CLUB,14)}.to raise_error("CardNumberNotValid")
end
end
Результат ниже:
Неудачи:
1) Карта должна проверить, находится ли номер карты от 1 до 13
Ошибка / Ошибка: ожидаем {Card.new (Suit :: CLUB, 14)}. To Raise_error ("CardNumberNotValid")
ожидаемое исключение с "CardNumberNotValid", полученное # для false: FalseClass>
# ./card_spec.rb:8
Завершено за 0,00064 секунды 1 пример, 1 ошибка
Неудачные примеры:
rspec ./card_spec.rb:7 # Карта должна проверить, находится ли номер карты между 1
и 13
Не могли бы вы помочь?