private static IPerson CreateTestPerson(uint id, Color colour)
        {
            IPersonBuilder personBuilder = new PersonBuilderFactory().Create();

            return(personBuilder
                   .WithID(id)
                   .WithName("test")
                   .WithLastName("tester")
                   .WithAddress(CreateTestAddress())
                   .WithFavouriteColour(colour)
                   .Build());
        }
        public void PersonBuilder_WithValidInputs_CanBuildPerson(uint id, string name, string lastName, string zipCode, string city)
        {
            IAddress address = new AddressBuilderFactory().Create().WithZipCode(zipCode).WithCity(city).Build();
            IPerson  person  = new PersonBuilderFactory().Create()
                               .WithID(id)
                               .WithName(name)
                               .WithLastName(lastName)
                               .WithAddress(address)
                               .WithFavouriteColour(Color.Transparent)
                               .Build();

            Assert.AreEqual(id, person.ID);
            Assert.AreEqual(name, person.Name);
            Assert.AreEqual(lastName, person.LastName);
            Assert.AreEqual(zipCode, person.Address.ZipCode);
            Assert.AreEqual(city, person.Address.City);
            Assert.AreEqual(Color.Transparent, person.FavouriteColour);
        }