public void GetById_ReturnsCorrectData() { // arrange var model = new ZipCodeModel { Id = 1, Zip = 1 }; var dataStoreMock = new Mock <IDataStore>(MockBehavior.Loose); dataStoreMock.Setup(mock => mock.GetById <ZipCodeModel, int>(It.IsAny <int>())) .Returns(model); var locationServiceMock = new Mock <ILocationService>(MockBehavior.Loose); var repository = new ZipCodesRepository( dataStoreMock.Object, locationServiceMock.Object ); // act var item = repository.GetById(1); // assert Assert.AreEqual(1, item.Id); }
public void GetById_CallsDataStore() { // arrange var model = new ZipCodeModel { Id = 1, Zip = 1 }; var dataStoreMock = new Mock <IDataStore>(MockBehavior.Loose); dataStoreMock.Setup(mock => mock.GetById <ZipCodeModel, int>(It.IsAny <int>())) .Returns(model); var locationServiceMock = new Mock <ILocationService>(MockBehavior.Loose); var repository = new ZipCodesRepository( dataStoreMock.Object, locationServiceMock.Object ); // act repository.GetById(1); // assert dataStoreMock.Verify(mock => mock.GetById <ZipCodeModel, int>(It.Is <int>(item => item == 1)), Times.Once()); }
public void AddAll_CallsDataStore() { // arrange var dataStoreMock = new Mock <IDataStore>(MockBehavior.Loose); var locationServiceMock = new Mock <ILocationService>(MockBehavior.Loose); var repository = new ZipCodesRepository( dataStoreMock.Object, locationServiceMock.Object ); // act repository.AddAll(new[] { new ZipCodeModel { Id = 1, Zip = 1 } }); // assert dataStoreMock.Verify(mock => mock.InsertAll(It.Is <IEnumerable <ZipCodeModel> >(item => item.First().Id == 1)), Times.Once()); }
public void GetNearby_ReturnsCorrectData() { // arrange var models = new[] { new ZipCodeModel { Id = 1, Zip = 1, Latitude = 1, Longitude = 1 }, new ZipCodeModel { Id = 4, Zip = 4, Latitude = 4, Longitude = 4 }, new ZipCodeModel { Id = 3, Zip = 3, Latitude = 3, Longitude = 3 }, new ZipCodeModel { Id = 2, Zip = 2, Latitude = 2, Longitude = 2 } }; var dataStoreMock = new Mock <IDataStore>(MockBehavior.Loose); dataStoreMock.Setup(mock => mock.GetById <ZipCodeModel, int>(It.IsAny <int>())) .Returns <int>(item => models.FirstOrDefault(i => i.Id == item)); dataStoreMock.Setup(mock => mock.GetAll <ZipCodeModel>()) .Returns(models.AsQueryable()); var locationServiceMock = new Mock <ILocationService>(MockBehavior.Loose); locationServiceMock.Setup(mock => mock.GetDistance(It.IsAny <LocationModel>(), It.IsAny <LocationModel>())) .Returns <LocationModel, LocationModel>((item1, item2) => Math.Sqrt(Math.Pow(item2.Latitude - item1.Latitude, 2) + Math.Pow(item2.Longitude - item1.Latitude, 2))); var repository = new ZipCodesRepository( dataStoreMock.Object, locationServiceMock.Object ); // act var items = repository.GetNearby(2, 2).ToList(); // assert Assert.AreEqual(2, items.Count); }
public void GetFirstForCity_CallsDataStore() { var dataStoreMock = new Mock <IDataStore>(MockBehavior.Loose); var locationServiceMock = new Mock <ILocationService>(MockBehavior.Loose); var repository = new ZipCodesRepository( dataStoreMock.Object, locationServiceMock.Object ); // act var result = repository.GetFirstForCity(0); // assert dataStoreMock.Verify(mock => mock.FirstOrDefault(It.IsAny <Expression <Func <ZipCodeModel, bool> > >()), Times.Once()); }
public void Clear_CallsDataStore() { // arrange var dataStoreMock = new Mock <IDataStore>(MockBehavior.Loose); var locationServiceMock = new Mock <ILocationService>(MockBehavior.Loose); var repository = new ZipCodesRepository( dataStoreMock.Object, locationServiceMock.Object ); // act repository.Clear(); // assert dataStoreMock.Verify(mock => mock.ClearAll <ZipCodeModel>(), Times.Once()); }
public void GetAllForCity_CallsDataStore() { // arrange var dataStoreMock = new Mock <IDataStore>(MockBehavior.Loose); var locationServiceMock = new Mock <ILocationService>(MockBehavior.Loose); var repository = new ZipCodesRepository( dataStoreMock.Object, locationServiceMock.Object ); // act var items = repository.GetAll().ToList(); // assert dataStoreMock.Verify(mock => mock.GetAll <ZipCodeModel>(), Times.Once()); }
public void GetAllForCity_ReturnsCorrectData() { // arrange var models = new[] { new ZipCodeModel { Id = 1, Zip = 1, CityId = 1 }, new ZipCodeModel { Id = 3, Zip = 3, CityId = 0 }, new ZipCodeModel { Id = 2, Zip = 2, CityId = 1 } }; var dataStoreMock = new Mock <IDataStore>(MockBehavior.Loose); dataStoreMock.Setup(mock => mock.GetAll <ZipCodeModel>()) .Returns(models.AsQueryable()); var locationServiceMock = new Mock <ILocationService>(MockBehavior.Loose); var repository = new ZipCodesRepository( dataStoreMock.Object, locationServiceMock.Object ); // act var items = repository.GetAllForCity(1).ToList(); // assert Assert.AreEqual(2, items.Count); }
public void GetNearby_CallsDataStore() { // arrange var dataStoreMock = new Mock <IDataStore>(MockBehavior.Loose); dataStoreMock.Setup(mock => mock.GetById <ZipCodeModel, int>(It.IsAny <int>())) .Returns(new ZipCodeModel()); var locationServiceMock = new Mock <ILocationService>(MockBehavior.Loose); var repository = new ZipCodesRepository( dataStoreMock.Object, locationServiceMock.Object ); // act var items = repository.GetNearby(0, 1).ToList(); // assert dataStoreMock.Verify(mock => mock.GetAll <ZipCodeModel>(), Times.Once()); }
public void GetZipCodesCount_ReturnsCorrectData() { // arrange var dataStoreMock = new Mock <IDataStore>(MockBehavior.Loose); dataStoreMock.Setup(mock => mock.Count(It.IsAny <Expression <Func <ZipCodeModel, bool> > >())) .Returns(3); var locationServiceMock = new Mock <ILocationService>(MockBehavior.Loose); var repository = new ZipCodesRepository( dataStoreMock.Object, locationServiceMock.Object ); // act var result = repository.GetZipCodesCount(0); // assert Assert.AreEqual(3, result); }
public void GetAll_CallsDataStore() { // arrange var models = new[] { new ZipCodeModel { Id = 1, Zip = 1 }, new ZipCodeModel { Id = 3, Zip = 3 }, new ZipCodeModel { Id = 2, Zip = 2 } }; var dataStoreMock = new Mock <IDataStore>(MockBehavior.Loose); dataStoreMock.Setup(mock => mock.GetAll <ZipCodeModel>()) .Returns(models.AsQueryable()); var locationServiceMock = new Mock <ILocationService>(MockBehavior.Loose); var repository = new ZipCodesRepository( dataStoreMock.Object, locationServiceMock.Object ); // act var items = repository.GetAll().ToList(); // assert dataStoreMock.Verify(mock => mock.GetAll <ZipCodeModel>(), Times.Once()); }
public void GetFirstForCity_ReturnsCorrectData() { // arrange var dataStoreMock = new Mock <IDataStore>(MockBehavior.Loose); dataStoreMock.Setup(mock => mock.FirstOrDefault(It.IsAny <Expression <Func <ZipCodeModel, bool> > >())) .Returns(new ZipCodeModel { Id = 1 }); var locationServiceMock = new Mock <ILocationService>(MockBehavior.Loose); var repository = new ZipCodesRepository( dataStoreMock.Object, locationServiceMock.Object ); // act var result = repository.GetFirstForCity(0); // assert Assert.AreEqual(1, result.Id); }