def test_keycard_returns_initialized_keycard(self, name, num):
     kc = KeyCard(Key(), Key())
     assert Guest(name, num, kc).keycard == kc
 def test_is_checkedin_fails_with_invalid_hotel_type(self, name, num,
                                                     value):
     kc = KeyCard(Key(), Key())
     g = Guest(name, num, kc)
     with pytest.raises(ValueError):
         g.is_checkedin(value)
 def test_guest_name_returns_initialized_name(self, name, num):
     assert Guest(name, num, KeyCard(Key(), Key())).guest_name == name
 def test_room_number_returns_initialized_room_number(self, name, num):
     assert Guest(name, num, KeyCard(Key(), Key())).room_number == num
 def test_can_create_guest_with_valid_arguments(self, name, num):
     Guest(name, num, KeyCard(Key(), Key()))
 def test_cannot_create_guest_with_invalid_name2(self, name, num):
     assume(re.sub(r'[a-zA-Z ]', '', name))
     with pytest.raises(ValueError):
         Guest(name, num, KeyCard(Key(), Key()))
 def test_cannot_create_guest_with_invalid_name1(self, name, num):
     with pytest.raises(ValueError):
         Guest(name, num, KeyCard(Key(), Key()))
 def test_cannot_create_guest_with_invalid_room_number(self, num):
     with pytest.raises(ValueError):
         Guest("John", num, KeyCard(Key(), Key()))
 def test_cannot_create_guest_with_invalid_keycard_type(self, kc):
     with pytest.raises(ValueError):
         Guest("John", 1, kc)