diff --git a/test/test_struct.py b/test/test_struct.py index ad6fbee..51533d7 100644 --- a/test/test_struct.py +++ b/test/test_struct.py @@ -24,20 +24,23 @@ def test_which_builder(addressbook): alice = people[0] alice.employment.school = "MIT" - assert alice.employment.which() == "school" + assert alice.employment.which == addressbook.Person.Employment.school + assert alice.employment.which == "school" bob = people[1] - assert bob.employment.which() == "unemployed" + assert bob.employment.which == addressbook.Person.Employment.unemployed + assert bob.employment.which == "unemployed" bob.employment.unemployed = None - assert bob.employment.which() == "unemployed" + assert bob.employment.which == addressbook.Person.Employment.unemployed + assert bob.employment.which == "unemployed" with pytest.raises(ValueError): - addresses.which() + addresses.which with pytest.raises(ValueError): - addresses.which() + addresses.which def test_which_reader(addressbook): @@ -63,15 +66,33 @@ def test_which_reader(addressbook): people = addresses.people alice = people[0] - assert alice.employment.which() == "school" + assert alice.employment.which == "school" bob = people[1] - assert bob.employment.which() == "unemployed" + assert bob.employment.which == "unemployed" with pytest.raises(ValueError): - addresses.which() + addresses.which with pytest.raises(ValueError): - addresses.which() + addresses.which + + +def test_enum(addressbook): + addresses = addressbook.AddressBook.new_message() + people = addresses.init('people', 2) + + alice = people[0] + phones = alice.init('phones', 2) + + assert phones[0].type == phones[1].type + + phones[0].type = addressbook.Person.PhoneNumber.Type.home + + assert phones[0].type != phones[1].type + + phones[1].type = 'home' + + assert phones[0].type == phones[1].type def test_builder_set(addressbook):