Exemplo n.º 1
0
def test_person():
    person = Person('Debelak', 'Peter', 'M', 'Orange', '1/2/2018')
    assert person.last_name == 'Debelak'
    assert person.first_name == 'Peter'
    assert person.gender == 'M'
    assert person.favorite_color == 'Orange'
    assert person.birth_date == date(2018, 1, 2)
    assert person.is_valid()
    assert person.error is None
Exemplo n.º 2
0
def test_formatted_people():
    person1 = Person('Debelak', 'Peter', 'M', 'Light Blue', '1/1/2018')
    person2 = Person('Bebelak', 'Peter', 'M', 'Orange', '12/12/2018')
    person3 = Person('Aebelak', 'Peter', 'M', 'Orange', '1/31/2018')
    person4 = Person('Cebelak', 'Peter', 'M', 'Orange', '1/31/2018')
    people = People()
    people.add_person(person1)
    people.add_person(person2)
    people.add_person(person3)
    people.add_person(person4)
    formatted = formatted_people(people.sorted_by_last_name())
    assert formatted[0] == \
        ' Last Name | First Name | Gender | Favorite Color | Birth Date '
    assert formatted[1] == \
        '  Aebelak  |   Peter    |   M    |     Orange     | 1/31/2018  '
    assert formatted[2] == \
        '  Bebelak  |   Peter    |   M    |     Orange     | 12/12/2018 '
    assert formatted[4] == \
        '  Debelak  |   Peter    |   M    |   Light Blue   |  1/1/2018  '
Exemplo n.º 3
0
def test_missing_birth_date():
    person = Person('Debelak', 'Peter', 'M', 'Orange', None)
    assert person.is_valid() is False
    assert person.error == 'Missing required field: birth_date'
Exemplo n.º 4
0
def test_missing_gender():
    person = Person('Debelak', 'Peter', None, 'Orange', '1/2/2018')
    assert person.is_valid() is False
    assert person.error == 'Missing required field: gender'
Exemplo n.º 5
0
def test_missing_favorite_color():
    person = Person('Debelak', 'Peter', 'M', '', '1/2/2018')
    assert person.is_valid() is False
    assert person.error == 'Missing required field: favorite_color'
Exemplo n.º 6
0
def test_missing_first_name():
    person = Person('Debelak', '', 'M', 'Orange', '1/2/2018')
    assert person.is_valid() is False
    assert person.error == 'Missing required field: first_name'
Exemplo n.º 7
0
def test_missing_last_name():
    person = Person(None, 'Peter', 'M', 'Orange', '1/2/2018')
    assert person.is_valid() is False
    assert person.error == 'Missing required field: last_name'
Exemplo n.º 8
0
def test_invalid_gender():
    person = Person('Debelak', 'Peter', 'H', 'Orange', '1/2/2018')
    assert person.is_valid() is False
    assert person.error == 'Invalid gender'
Exemplo n.º 9
0
def test_non_date_date():
    person = Person('Debelak', 'Peter', 'M', 'Orange', 'hello')
    assert person.is_valid() is False
    with pytest.raises(InvalidDate):
        person.birth_date
Exemplo n.º 10
0
def test_invalid_date():
    person = Person('Debelak', 'Peter', 'M', 'Orange', '2/30/2018')
    assert person.is_valid() is False
    with pytest.raises(InvalidDate):
        person.birth_date