public void CallLocationRepositoryAllTwice_WhenTwoLacationsAdded() { // Arrange var cityRepositoryMock = new Mock <IEFRepository <City> >(); var locationRepositoryMock = new Mock <IEFRepository <Location> >(); var unitOfWorkMock = new Mock <IEFUnitOfWork>(); var location = new Location() { Lat = 2, Lng = 2 }; var differentLocation = new Location() { Lat = 1, Lng = 1 }; var query = new List <Location>() { new Location() { Lat = 1, Lng = 1 }, }.AsQueryable(); locationRepositoryMock.Setup(x => x.All).Returns(query); var sut = new CityService( cityRepositoryMock.Object, locationRepositoryMock.Object, unitOfWorkMock.Object); // Act sut.AddLocations(new List <Location>() { location, differentLocation }); // Asssert locationRepositoryMock.VerifyGet(c => c.All, Times.Exactly(2)); }
public void Throw_WhenMoreThanOneLocationWithGivenName() { // Arrange var cityRepositoryMock = new Mock <IEFRepository <City> >(); var locationRepositoryMock = new Mock <IEFRepository <Location> >(); var unitOfWorkMock = new Mock <IEFUnitOfWork>(); var differentLocation = new Location() { Lat = 1, Lng = 1 }; var query = new List <Location>() { new Location() { Lat = 1, Lng = 1 }, new Location() { Lat = 1, Lng = 1 } }.AsQueryable(); locationRepositoryMock.Setup(x => x.All).Returns(query); var sut = new CityService( cityRepositoryMock.Object, locationRepositoryMock.Object, unitOfWorkMock.Object); // Act & Asssert Assert.Throws <InvalidOperationException>( () => sut.AddLocations(new List <Location>() { differentLocation })); }
public void ReturnDifferentLocation_WhenThereIsSuchLocation() { // Arrange var cityRepositoryMock = new Mock <IEFRepository <City> >(); var locationRepositoryMock = new Mock <IEFRepository <Location> >(); var unitOfWorkMock = new Mock <IEFUnitOfWork>(); var location = new Location() { Lat = 1, Lng = 1 }; var differentLocation = new Location() { Lat = 1, Lng = 1 }; var query = new List <Location>() { location }.AsQueryable(); locationRepositoryMock.Setup(x => x.All).Returns(query); var sut = new CityService( cityRepositoryMock.Object, locationRepositoryMock.Object, unitOfWorkMock.Object); // Act var result = sut.AddLocations(new List <Location>() { differentLocation }); // Asssert Assert.AreNotSame(differentLocation, result.First()); }