/// <summary> /// Directors responsibility is to call get the people list from the cache or build a new object from the database. /// </summary> /// <returns>IEnumerable of People </returns> public PeopleDirector( IPersonRepository repository, IPeopleBuilder builder, IPeopleServiceClient client ) { _repository = repository; _builder = builder; _client = client; }
public void PeopleDirectorShouldReturnAListOfOne() { //arrange /* --------------- * MOCK the repo * --------------- */ var mockRepo = new Mock <IPersonRepository>(); mockRepo.Setup(framework => framework.GetPeople()) .Returns(new List <Person>() { new Person() { FirstName = "Tester" } }); IPersonRepository mockedRepo = mockRepo.Object; /* --------------- * MOCK the Builder * --------------- */ var list = new List <Person>() { new Person() { FirstName = "Fake", LastName = "Fake N", Email = "*****@*****.**", Gender = Gender.Male, Address = null, Phone = "434-333-3333", Picture = null } }; var mockBuilder = new Mock <IPeopleBuilder>(); mockBuilder.Setup(framework => framework.BuildPeople()) .Returns(list); IPeopleBuilder mockedbuilder = mockBuilder.Object; /* --------------- * MOCK the Service Client * --------------- */ var mockService = new Mock <IPeopleServiceClient>(); mockService.Setup(framework => framework.GetPeople()) .Returns(list); IPeopleServiceClient mockedService = mockService.Object; //Build necessary structure IPeopleServiceClient serviceClient = new PeopleServiceClient(mockedRepo); IPeopleBuilder builder = new PeopleBuilder(mockedService) { }; IPeopleDirector director = new PeopleDirector(mockedRepo, builder, serviceClient) { }; //get the people IEnumerable <Person> people = director.BuildPeople(); var count = 0; var enumerator = people.GetEnumerator(); while (enumerator.MoveNext()) { var current = enumerator.Current; count++; } //act int result = 1; //assert Assert.Equal(result, count); }
public void PeopleBuilderShouldReturnOnePerson() { /* --------------- * MOCK the repo * --------------- */ var mockRepo = new Mock <IPersonRepository>(); mockRepo.Setup(framework => framework.GetPeople()) .Returns(new List <Person>() { new Person() { FirstName = "Tester" } }); IPersonRepository mockedRepo = mockRepo.Object; /* --------------- * MOCK the Builder * --------------- */ var list = new List <Person>() { new Person() { FirstName = "Fake", LastName = "Fake N", Email = "*****@*****.**", Gender = Gender.Male, Address = null, Phone = "434-333-3333", Picture = null } }; var mockBuilder = new Mock <IPeopleBuilder>(); mockBuilder.Setup(framework => framework.BuildPeople()) .Returns(list); IPeopleBuilder mockedbuilder = mockBuilder.Object; /* --------------- * MOCK the Service Client * --------------- */ var mockService = new Mock <IPeopleServiceClient>(); mockService.Setup(framework => framework.GetPeople()) .Returns(list); IPeopleServiceClient mockedService = mockService.Object; //Build necessary structure IPeopleServiceClient serviceClient = new PeopleServiceClient(mockedRepo); IPeopleBuilder builder = new PeopleBuilder(mockedService) { }; IEnumerable <Person> people = builder.BuildPeople(); //act Console.WriteLine($"------------------ ACTING -- Count of how many people in the list : {((List<Person>)people).Count}"); var result = ((List <Person>)people).Count > 0; //assert Assert.True(result); }