using System.Collections.Generic;
public static void Main()
new UnitTests().PerformUnitTest();
public void PerformUnitTest()
var sut = new CustomerValidator();
var actual = sut.GetCustomerAndValidateZip();
var result = expected == actual ? "PASS" : "FAIL";
Console.WriteLine(result);
actual = sut.GetCustomerAndValidateZip2();
result = expected == actual ? "PASS" : "FAIL";
Console.WriteLine(result);
public class CustomerValidator
public bool GetCustomerAndValidateZip()
var repository = new CustomerRepository();
var customer = repository.GetCustomer(customerId);
var allZipCodes = GetAllValidZipCodes();
return allZipCodes.Contains(customer.ZipCode);
public bool GetCustomerAndValidateZip2()
var repository = new CustomerRepository();
var customer = repository.GetCustomer(customerId);
var allZipCodes = GetAllValidZipCodes();
return !allZipCodes.Contains(customer.ZipCode);
private List<string> GetAllValidZipCodes()
var httpClient = new HttpClient();
return new List<string>{"10010","ziphttp"};
public int ID { get; set; }
public string ZipCode { get; set; }
public class CustomerRepository
public Customer GetCustomer(int customerId)
var db = new DbContext();
return db.Customers.SingleOrDefault(i => i.ID == customerId);
public List<Customer> Customers { get; set; }
Customers = new List<Customer>();
Customer c = new Customer(){ID = 1, ZipCode = "10010"};
Customer c2 = new Customer(){ID = 2, ZipCode = "zipdb"};
public T Get<T>(string url)