public When_I_call_address_formatter() { // Setup address = new AddressBuilder() .WithA1("123 Fake Street") .WithA2("Fake2") .WithA3("Fake3") .WithCity("Fakecity") .WithPostCode("F1 23FF") .Build(); person = new PersonBuilder() .WithTitle("Mr") .WithFirstName("Liam") .WithLastName("Woods") .WithAddress(address) .Build(); personFormatter = Substitute.For<IPersonFormatter>(); personFormatter.PersonToString(person).Returns("Mr Liam Woods"); addressFormatter = new AddressFormatter(personFormatter); // Act actual = addressFormatter.AddressToString(person); }
public Address setSubProperties(string[] props) { Address address = new Address(); var subArray = address.GetType().GetProperties(); foreach (var subProperty in subArray) { subProperty.SetValue(address, props[i]); i++; } return address; }
string selectFormat(Address address) { var assembled = ""; bool add2 = IsNotNull(address.Address2); bool add3 = IsNotNull(address.Address3); bool addC = IsNotNull(address.City); // Combinations if (add2 & add3 & addC) { // 1. Y Address2, Y Address3, Y City - NONE MISSING assembled = $"{address.Address2}{n}{address.Address3}{n}{address.City}{n}"; } else if (add2 & add3 & !addC) { // 2. Y Address2, Y Address3, N City - CITY MISSING assembled = $"{address.Address2}{n}{address.Address3}{n}"; } else if (add2 & !add3 & addC) { // 3. Y Address2, N Address3, Y City - ADD3 MISSING assembled = $"{address.Address2}{n}{address.City}{n}"; } else if (add2 & !add3 & !addC) { // 4. Y Address2, N Address3, N City - ONLY ADD2 assembled = $"{address.Address2}{n}"; } else if (!add2 & !add3 & addC) { // 5. N Address2, N Address3, Y City - ONLY CITY assembled = $"{address.City}{n}"; } else if (!add2 & !add3 & !addC) { // 6. N Address2, N Address3, N City - ALL MISSING assembled = ""; } return assembled; }