public void GetAllPlateRecords_WhenDbIsEmpty_ShouldThrowEmptyDB() { //Arrange var fakeIQueryable = new List <MissingLicensePlate>().AsQueryable(); var fakeDbSet = StorageTestsUtil.SetupFakeDbSet(fakeIQueryable); var fakeHucaresContext = A.Fake <HucaresContext>(); A.CallTo(() => fakeHucaresContext.MissingLicensePlates) .Returns(fakeDbSet); var fakeDbContextFactory = A.Fake <IDbContextFactory>(); A.CallTo(() => fakeDbContextFactory.BuildHucaresContext()) .Returns(fakeHucaresContext); var missingPlateHelper = new MissingPlateHelper(fakeDbContextFactory); //Act var result = missingPlateHelper.GetAllPlateRecords(); //Assert A.CallTo(() => fakeDbContextFactory.BuildHucaresContext()) .MustHaveHappenedOnceExactly(); A.CallTo(() => fakeHucaresContext.SaveChanges()) .MustNotHaveHappened(); result.Count().ShouldBe(0); }
public void GetAllActiveDetectedPlatesByPlateNumber_WithEndDateAfterMLP_ShouldReturn() { //Arrange var expectedDetectedPlate = new DetectedLicensePlate() { Id = 0, PlateNumber = "ABC001", DetectedDateTime = new DateTime(2018, 10, 10) }; var fakeDetectedPlateList = new List <DetectedLicensePlate>() { expectedDetectedPlate, new DetectedLicensePlate() { Id = 2, PlateNumber = "ABC001", DetectedDateTime = new DateTime(2018, 09, 10) }, new DetectedLicensePlate() { Id = 3, PlateNumber = "ABC001", DetectedDateTime = new DateTime(2018, 11, 10) } }; var fakeMissingPlateList = new List <MissingLicensePlate>() { new MissingLicensePlate() { Id = 0, PlateNumber = expectedDetectedPlate.PlateNumber, SearchStartDateTime = new DateTime(2018, 10, 05), SearchEndDateTime = new DateTime(2018, 10, 15) } }; var fakeDbSetDetectedPlates = StorageTestsUtil.SetupFakeDbSet(fakeDetectedPlateList.AsQueryable()); var fakeHucaresContext = A.Fake <HucaresContext>(); A.CallTo(() => fakeHucaresContext.DetectedLicensePlates) .Returns(fakeDbSetDetectedPlates); var fakeDbContextFactory = A.Fake <IDbContextFactory>(); A.CallTo(() => fakeDbContextFactory.BuildHucaresContext()) .Returns(fakeHucaresContext); var fakeMissingPlateHelper = A.Fake <IMissingPlateHelper>(); A.CallTo(() => fakeMissingPlateHelper.GetPlateRecordByPlateNumber(expectedDetectedPlate.PlateNumber)) .Returns(fakeMissingPlateList); var detectedPlateHelper = new DetectedPlateHelper(fakeDbContextFactory, fakeMissingPlateHelper); //Act var result = detectedPlateHelper.GetAllActiveDetectedPlatesByPlateNumber(plateNumber: expectedDetectedPlate.PlateNumber, endDateTime: new DateTime(2018, 11, 25)).ToList(); //Assert A.CallTo(() => fakeDbContextFactory.BuildHucaresContext()).MustHaveHappened(); result.Count().ShouldBe(1); result.FirstOrDefault().ShouldBe(expectedDetectedPlate); }
public void UpdateCameraSource_WhenRecordWithIdDoesNotExist_ShouldThrow() { //Arrange var fakeIQueryable = new List <CameraInfo>().AsQueryable(); var fakeDbSet = StorageTestsUtil.SetupFakeDbSet(fakeIQueryable); var fakeHucaresContext = A.Fake <HucaresContext>(); A.CallTo(() => fakeHucaresContext.CameraInfo) .Returns(fakeDbSet); var fakeDbContextFactory = A.Fake <IDbContextFactory>(); A.CallTo(() => fakeDbContextFactory.BuildHucaresContext()) .Returns(fakeHucaresContext); var fakeDlpHelper = A.Fake <IDetectedPlateHelper>(); var cameraInfoHelper = new CameraInfoHelper(fakeDbContextFactory, fakeDlpHelper); //Act & Assert Assert.Throws <ArgumentException>(() => cameraInfoHelper.UpdateCameraSource(0, "http://localhost:5051/some/cam", true)); A.CallTo(() => fakeHucaresContext.SaveChanges()) .MustNotHaveHappened(); }
public void DeleteCameraById_WhenRecordWithIdDoesNotExist_ShouldThrow() { //Arrange var fakeIQueryable = new List <CameraInfo>().AsQueryable(); var fakeDbSet = StorageTestsUtil.SetupFakeDbSet(fakeIQueryable); var fakeHucaresContext = A.Fake <HucaresContext>(); A.CallTo(() => fakeHucaresContext.CameraInfo) .Returns(fakeDbSet); var fakeDbContextFactory = A.Fake <IDbContextFactory>(); A.CallTo(() => fakeDbContextFactory.BuildHucaresContext()) .Returns(fakeHucaresContext); var fakeDlpHelper = A.Fake <IDetectedPlateHelper>(); var cameraInfoHelper = new CameraInfoHelper(fakeDbContextFactory, fakeDlpHelper); //Act & Assert Assert.Throws <ArgumentException>(() => cameraInfoHelper.DeleteCameraById(0)); A.CallTo(() => fakeDlpHelper.GetAllDetectedPlatesByCamera(A <int> .Ignored, A <DateTime?> .Ignored, A <DateTime?> .Ignored)) .MustHaveHappened(); A.CallTo(() => fakeHucaresContext.SaveChanges()) .MustNotHaveHappened(); }
public void GetCameraById_WhenRecordWithIdDoesNotExist_ShouldSucceedAndReturnNull() { //Arrange var fakeIQueryable = new List <CameraInfo>() { new CameraInfo() { Id = 1 } }.AsQueryable(); var fakeDbSet = StorageTestsUtil.SetupFakeDbSet(fakeIQueryable); var fakeHucaresContext = A.Fake <HucaresContext>(); A.CallTo(() => fakeHucaresContext.CameraInfo) .Returns(fakeDbSet); var fakeDbContextFactory = A.Fake <IDbContextFactory>(); A.CallTo(() => fakeDbContextFactory.BuildHucaresContext()) .Returns(fakeHucaresContext); var fakeDlpHelper = A.Fake <IDetectedPlateHelper>(); var cameraInfoHelper = new CameraInfoHelper(fakeDbContextFactory, fakeDlpHelper); //Act var result = cameraInfoHelper.GetCameraById(0); //Assert result.ShouldBe(null); }
public void GetPlateRecordByPlateNumber_WhenPlateNumberNotExist_ShouldSucceedAndReturnNull() { //Arrange var fakeIQueryable = new List <MissingLicensePlate>() { new MissingLicensePlate() { PlateNumber = "OOO111" } }.AsQueryable(); var fakeDbSet = StorageTestsUtil.SetupFakeDbSet(fakeIQueryable); var fakeHucaresContext = A.Fake <HucaresContext>(); A.CallTo(() => fakeHucaresContext.MissingLicensePlates) .Returns(fakeDbSet); var fakeDbContextFactory = A.Fake <IDbContextFactory>(); A.CallTo(() => fakeDbContextFactory.BuildHucaresContext()) .Returns(fakeHucaresContext); var missingPlateHelper = new MissingPlateHelper(fakeDbContextFactory); //Act var result = missingPlateHelper.GetPlateRecordByPlateNumber("QQQ333"); //Assert result.ShouldBeEmpty(); }
public void MarkFoundPlate_WhenPlateIdDoesNotExist_ShouldThrow() { //Arrange var fakeIQueryable = new List <MissingLicensePlate>().AsQueryable(); var fakeDbSet = StorageTestsUtil.SetupFakeDbSet(fakeIQueryable); var fakeHucaresContext = A.Fake <HucaresContext>(); A.CallTo(() => fakeHucaresContext.MissingLicensePlates) .Returns(fakeDbSet); var fakeDbContextFactory = A.Fake <IDbContextFactory>(); A.CallTo(() => fakeDbContextFactory.BuildHucaresContext()) .Returns(fakeHucaresContext); var missingPlateHelper = new MissingPlateHelper(fakeDbContextFactory); var expectedId = 5; var expectedStartSearchDateTime = new DateTime(2018, 08, 17); var expectedSearch = LicensePlateFoundStatus.Found; //Act & Assert Assert.Throws <ArgumentException>(() => missingPlateHelper.MarkFoundPlate(expectedId, expectedStartSearchDateTime, expectedSearch)); A.CallTo(() => fakeHucaresContext.SaveChanges()) .MustNotHaveHappened(); }
public void InsertCamera_WhenTrustedSourceValueNotProvided_IsTrustedSourceShouldBeFalse() { //Arrange var fakeIQueryable = new List <CameraInfo>().AsQueryable(); var fakeDbSet = StorageTestsUtil.SetupFakeDbSet(fakeIQueryable); var fakeHucaresContext = A.Fake <HucaresContext>(); A.CallTo(() => fakeHucaresContext.CameraInfo) .Returns(fakeDbSet); var fakeDbContextFactory = A.Fake <IDbContextFactory>(); A.CallTo(() => fakeDbContextFactory.BuildHucaresContext()) .Returns(fakeHucaresContext); var fakeDlpHelper = A.Fake <IDetectedPlateHelper>(); var cameraInfoHelper = new CameraInfoHelper(fakeDbContextFactory, fakeDlpHelper); //Act var result = cameraInfoHelper.InsertCamera("http://localhost:5051/some/cam", 53.124, 27.375); //Assert Assert.IsFalse(result.IsTrustedSource, "Default IsTrustedSource value was not false"); }
public void DeletePlatesOlderThanDatetime_WithCorrectDateWithMissingNumber_ShouldReturn() { //Arrange var expectedRemainingDetectedLicensePlate = new DetectedLicensePlate() { DetectedDateTime = new DateTime(2018, 09, 10), PlateNumber = "FFF999" }; var expectedDeletedDetectedLicensePlate = new DetectedLicensePlate() { DetectedDateTime = new DateTime(2018, 09, 10), PlateNumber = "ABC123" }; var fakeDetectedPlatesList = new List <DetectedLicensePlate>() { expectedRemainingDetectedLicensePlate, expectedDeletedDetectedLicensePlate }; var fakeDbSetDetectedPlates = StorageTestsUtil.SetupFakeDbSet(fakeDetectedPlatesList.AsQueryable()); var fakeHucaresContext = A.Fake <HucaresContext>(); var fakeDbContextFactory = A.Fake <IDbContextFactory>(); A.CallTo(() => fakeDbContextFactory.BuildHucaresContext()) .Returns(fakeHucaresContext); A.CallTo(() => fakeHucaresContext.DetectedLicensePlates) .Returns(fakeDbSetDetectedPlates); var fakeMissingPlateHelper = A.Fake <IMissingPlateHelper>(); A.CallTo(() => fakeMissingPlateHelper.GetAllPlateRecords()) .Returns(new List <MissingLicensePlate>() { new MissingLicensePlate() { PlateNumber = expectedRemainingDetectedLicensePlate.PlateNumber } }); var detectedPlateHelper = new DetectedPlateHelper(fakeDbContextFactory, fakeMissingPlateHelper); //Act var deletedPlates = detectedPlateHelper.DeletePlatesOlderThanDatetime(new DateTime(2018, 10, 01)).ToList(); //Assert A.CallTo(() => fakeHucaresContext.DetectedLicensePlates).MustHaveHappened(); A.CallTo(() => fakeMissingPlateHelper.GetAllPlateRecords()).MustHaveHappened(); deletedPlates.Count.ShouldBe(1); deletedPlates.FirstOrDefault().ShouldBe(expectedDeletedDetectedLicensePlate); fakeHucaresContext.DetectedLicensePlates.FirstOrDefault() .ShouldBe(expectedRemainingDetectedLicensePlate); }
public void GetAllDetectedPlatesByCamera_WithDates_ShouldReturn() { //Arrange var expectedDetectedPlate = new DetectedLicensePlate() { Id = 0, CamId = 0, DetectedDateTime = new DateTime(2018, 10, 10) }; var fakeDetectedPlateList = new List <DetectedLicensePlate>() { expectedDetectedPlate, new DetectedLicensePlate() { Id = 1, CamId = 0, DetectedDateTime = new DateTime(2018, 09, 10) }, new DetectedLicensePlate() { Id = 2, CamId = 0, DetectedDateTime = new DateTime(2018, 11, 30) }, new DetectedLicensePlate() { Id = 3, CamId = 1, DetectedDateTime = new DateTime(2018, 10, 10) } }; var fakeDbSetDetectedPlates = StorageTestsUtil.SetupFakeDbSet(fakeDetectedPlateList.AsQueryable()); var fakeHucaresContext = A.Fake <HucaresContext>(); A.CallTo(() => fakeHucaresContext.DetectedLicensePlates) .Returns(fakeDbSetDetectedPlates); var fakeDbContextFactory = A.Fake <IDbContextFactory>(); A.CallTo(() => fakeDbContextFactory.BuildHucaresContext()) .Returns(fakeHucaresContext); var fakeMissingPlateHelper = A.Fake <IMissingPlateHelper>(); var detectedPlateHelper = new DetectedPlateHelper(fakeDbContextFactory, fakeMissingPlateHelper); //Act var result = detectedPlateHelper.GetAllDetectedPlatesByCamera(cameraId: expectedDetectedPlate.CamId, startDateTime: new DateTime(2018, 10, 05), endDateTime: new DateTime(2018, 10, 15)).ToList(); //Assert A.CallTo(() => fakeDbContextFactory.BuildHucaresContext()).MustHaveHappened(); result.Count().ShouldBe(1); result.FirstOrDefault().ShouldBe(expectedDetectedPlate); }
public void GetActiveCameras_WhenTrustedSourceIsNull_ShouldReturnActive() { //Arrange var fakeIQueryable = new List <CameraInfo>() { new CameraInfo() { Id = 0, IsActive = true, IsTrustedSource = true }, new CameraInfo() { Id = 0, IsActive = true, IsTrustedSource = false }, new CameraInfo() { Id = 1, IsActive = false, IsTrustedSource = false } }.AsQueryable(); var fakeDbSet = StorageTestsUtil.SetupFakeDbSet(fakeIQueryable); var fakeHucaresContext = A.Fake <HucaresContext>(); A.CallTo(() => fakeHucaresContext.CameraInfo) .Returns(fakeDbSet); var fakeDbContextFactory = A.Fake <IDbContextFactory>(); A.CallTo(() => fakeDbContextFactory.BuildHucaresContext()) .Returns(fakeHucaresContext); var fakeDlpHelper = A.Fake <IDetectedPlateHelper>(); var cameraInfoHelper = new CameraInfoHelper(fakeDbContextFactory, fakeDlpHelper); //Act var result = cameraInfoHelper.GetActiveCameras(); //Assert A.CallTo(() => fakeDbContextFactory.BuildHucaresContext()) .MustHaveHappenedOnceExactly(); A.CallTo(() => fakeHucaresContext.SaveChanges()) .MustNotHaveHappened(); var expectedResult = fakeIQueryable.Where(c => c.IsActive); result.Count().ShouldBe(expectedResult.Count()); Assert.IsTrue(result.SequenceEqual(expectedResult.ToList()), "Lists are not equal"); }
public void GetPlateRecordByPlateNumber_WhenPlateNumberExist_ShouldReturnExpected() { //Arrange var fakeIQueryable = new List <MissingLicensePlate>() { new MissingLicensePlate() { PlateNumber = "ZOA555", SearchStartDateTime = new DateTime(2018, 11, 04) }, new MissingLicensePlate() { PlateNumber = "DAD123", SearchStartDateTime = new DateTime(2018, 10, 04) }, new MissingLicensePlate() { PlateNumber = "FEF144", SearchStartDateTime = new DateTime(2018, 12, 04) } }.AsQueryable(); var fakeDbSet = StorageTestsUtil.SetupFakeDbSet(fakeIQueryable); var fakeHucaresContext = A.Fake <HucaresContext>(); A.CallTo(() => fakeHucaresContext.MissingLicensePlates) .Returns(fakeDbSet); var fakeDbContextFactory = A.Fake <IDbContextFactory>(); A.CallTo(() => fakeDbContextFactory.BuildHucaresContext()) .Returns(fakeHucaresContext); var missingPlateHelper = new MissingPlateHelper(fakeDbContextFactory); var expectedPlateNumber = "ZOA555"; //Act var result = missingPlateHelper.GetPlateRecordByPlateNumber(expectedPlateNumber); //Assert A.CallTo(() => fakeDbContextFactory.BuildHucaresContext()) .MustHaveHappenedOnceExactly(); A.CallTo(() => fakeHucaresContext.SaveChanges()) .MustNotHaveHappened(); var expectedResult = fakeIQueryable.Where(c => c.PlateNumber == expectedPlateNumber); result.Count().ShouldBe(expectedResult.Count()); Assert.IsTrue(result.SequenceEqual(expectedResult.ToList()), "Lists are not equal"); }
public void UpdateCameraSource_WhenRecordWithIdExists_ShouldUpdateAndReturnExpected() { //Arrange var camInfoObj = new CameraInfo() { Id = 0, HostUrl = "http://localhost:5051/bad/cam", IsTrustedSource = false }; var fakeIQueryable = new List <CameraInfo>() { camInfoObj }.AsQueryable(); var fakeDbSet = StorageTestsUtil.SetupFakeDbSet(fakeIQueryable); var fakeHucaresContext = A.Fake <HucaresContext>(); A.CallTo(() => fakeHucaresContext.CameraInfo) .Returns(fakeDbSet); var fakeDbContextFactory = A.Fake <IDbContextFactory>(); A.CallTo(() => fakeDbContextFactory.BuildHucaresContext()) .Returns(fakeHucaresContext); var fakeDlpHelper = A.Fake <IDetectedPlateHelper>(); var cameraInfoHelper = new CameraInfoHelper(fakeDbContextFactory, fakeDlpHelper); //Act var expectedCameraInfo = new CameraInfo() { Id = 0, HostUrl = "http://localhost:5051/some/cam", IsTrustedSource = true }; var result = cameraInfoHelper.UpdateCameraSource(expectedCameraInfo.Id, expectedCameraInfo.HostUrl, expectedCameraInfo.IsActive); //Assert A.CallTo(() => fakeDbContextFactory.BuildHucaresContext()) .MustHaveHappenedOnceExactly(); A.CallTo(() => fakeDbSet.Add(A <CameraInfo> .Ignored)) .MustNotHaveHappened(); A.CallTo(() => fakeHucaresContext.SaveChanges()) .MustHaveHappenedOnceExactly(); result.ShouldBe(expectedCameraInfo); }
public void GetActiveCameras_WhenTrustedSourceIsNotNull_ShouldReturnOnlyExpected() { //Arrange var camInfoObj = new CameraInfo() { Id = 0, IsActive = true, IsTrustedSource = true }; var fakeIQueryable = new List <CameraInfo>() { camInfoObj, new CameraInfo() { Id = 1, IsActive = true, IsTrustedSource = false }, new CameraInfo() { Id = 2, IsActive = false, IsTrustedSource = true }, new CameraInfo() { Id = 3, IsActive = false, IsTrustedSource = false } }.AsQueryable(); var fakeDbSet = StorageTestsUtil.SetupFakeDbSet(fakeIQueryable); var fakeHucaresContext = A.Fake <HucaresContext>(); A.CallTo(() => fakeHucaresContext.CameraInfo) .Returns(fakeDbSet); var fakeDbContextFactory = A.Fake <IDbContextFactory>(); A.CallTo(() => fakeDbContextFactory.BuildHucaresContext()) .Returns(fakeHucaresContext); var fakeDlpHelper = A.Fake <IDetectedPlateHelper>(); var cameraInfoHelper = new CameraInfoHelper(fakeDbContextFactory, fakeDlpHelper); //Act var result = cameraInfoHelper.GetActiveCameras(true); //Assert result.Count().ShouldBe(1); result.FirstOrDefault().ShouldBe(camInfoObj); }
public void DeleteCameraById_WhenRecordWithIdExistsAndDlpHasNoDependency_ShouldAndReturnExpected() { //Arrange var camInfoObj = new CameraInfo() { Id = 1 }; var fakeIQueryable = new List <CameraInfo>() { new CameraInfo() { Id = 0 }, camInfoObj }.AsQueryable(); var fakeDbSet = StorageTestsUtil.SetupFakeDbSet(fakeIQueryable); var fakeHucaresContext = A.Fake <HucaresContext>(); A.CallTo(() => fakeHucaresContext.CameraInfo) .Returns(fakeDbSet); var fakeDbContextFactory = A.Fake <IDbContextFactory>(); A.CallTo(() => fakeDbContextFactory.BuildHucaresContext()) .Returns(fakeHucaresContext); var fakeDlpHelper = A.Fake <IDetectedPlateHelper>(); var cameraInfoHelper = new CameraInfoHelper(fakeDbContextFactory, fakeDlpHelper); //Act var result = cameraInfoHelper.DeleteCameraById(camInfoObj.Id); //Assert A.CallTo(() => fakeDbContextFactory.BuildHucaresContext()) .MustHaveHappenedOnceExactly(); A.CallTo(() => fakeDbSet.Remove(camInfoObj)) .MustHaveHappenedOnceExactly(); A.CallTo(() => fakeHucaresContext.SaveChanges()) .MustHaveHappenedOnceExactly(); result.ShouldBe(camInfoObj); }
public void DeletePlateByNumber_WhenPlateNumberExist_ShouldSucceed() { //Arrange var missingPlateObj = new MissingLicensePlate() { PlateNumber = "ZOO555" }; var fakeIQueryable = new List <MissingLicensePlate>() { new MissingLicensePlate() { PlateNumber = "ZZZ123" }, missingPlateObj }.AsQueryable(); var fakeDbSet = StorageTestsUtil.SetupFakeDbSet(fakeIQueryable); var fakeHucaresContext = A.Fake <HucaresContext>(); A.CallTo(() => fakeHucaresContext.MissingLicensePlates) .Returns(fakeDbSet); var fakeDbContextFactory = A.Fake <IDbContextFactory>(); A.CallTo(() => fakeDbContextFactory.BuildHucaresContext()) .Returns(fakeHucaresContext); var missingPlateHelper = new MissingPlateHelper(fakeDbContextFactory); //Act var result = missingPlateHelper.DeletePlateByNumber(missingPlateObj.PlateNumber); //Assert A.CallTo(() => fakeDbContextFactory.BuildHucaresContext()) .MustHaveHappenedOnceExactly(); A.CallTo(() => fakeDbSet.Remove(missingPlateObj)) .MustHaveHappenedOnceExactly(); A.CallTo(() => fakeHucaresContext.SaveChanges()) .MustHaveHappenedOnceExactly(); result.ShouldBe(missingPlateObj); }
public void GetInactiveCameras_WhenInactiveCameraExists_ShouldReturnExpected() { //Arrange var camInfoObj = new CameraInfo() { Id = 0, IsActive = false }; var fakeIQueryable = new List <CameraInfo>() { camInfoObj, new CameraInfo() { Id = 1, IsActive = true } }.AsQueryable(); var fakeDbSet = StorageTestsUtil.SetupFakeDbSet(fakeIQueryable); var fakeHucaresContext = A.Fake <HucaresContext>(); A.CallTo(() => fakeHucaresContext.CameraInfo) .Returns(fakeDbSet); var fakeDbContextFactory = A.Fake <IDbContextFactory>(); A.CallTo(() => fakeDbContextFactory.BuildHucaresContext()) .Returns(fakeHucaresContext); var fakeDlpHelper = A.Fake <IDetectedPlateHelper>(); var cameraInfoHelper = new CameraInfoHelper(fakeDbContextFactory, fakeDlpHelper); //Act var result = cameraInfoHelper.GetInactiveCameras(); //Assert A.CallTo(() => fakeDbContextFactory.BuildHucaresContext()) .MustHaveHappenedOnceExactly(); A.CallTo(() => fakeHucaresContext.SaveChanges()) .MustNotHaveHappened(); result.Count().ShouldBe(1); result.FirstOrDefault().ShouldBe(camInfoObj); }
public void UpdateCameraActivity_WhenRecordWithIdExists_ShouldUpdateAndReturnExpected() { //Arrange var camInfoObj = new CameraInfo() { Id = 0, IsActive = false }; var fakeIQueryable = new List <CameraInfo>() { camInfoObj }.AsQueryable(); var fakeDbSet = StorageTestsUtil.SetupFakeDbSet(fakeIQueryable); var fakeHucaresContext = A.Fake <HucaresContext>(); A.CallTo(() => fakeHucaresContext.CameraInfo) .Returns(fakeDbSet); var fakeDbContextFactory = A.Fake <IDbContextFactory>(); A.CallTo(() => fakeDbContextFactory.BuildHucaresContext()) .Returns(fakeHucaresContext); var fakeDlpHelper = A.Fake <IDetectedPlateHelper>(); var cameraInfoHelper = new CameraInfoHelper(fakeDbContextFactory, fakeDlpHelper); //Act var expectedActivity = true; var result = cameraInfoHelper.UpdateCameraActivity(camInfoObj.Id, expectedActivity); //Assert A.CallTo(() => fakeDbContextFactory.BuildHucaresContext()) .MustHaveHappenedOnceExactly(); A.CallTo(() => fakeDbSet.Add(A <CameraInfo> .Ignored)) .MustNotHaveHappened(); A.CallTo(() => fakeHucaresContext.SaveChanges()) .MustHaveHappenedOnceExactly(); result.ShouldBe(camInfoObj); camInfoObj.IsActive.ShouldBe(expectedActivity); }
public void GetAllPlates_WhenDbIsNotEmpty_ShouldReturnExpected() { var expectedDate = new DateTime(2018, 05, 15); //Arrange var fakeIQueryable = new List <MissingLicensePlate>() { new MissingLicensePlate() { PlateNumber = "JOR154", SearchStartDateTime = expectedDate }, new MissingLicensePlate() { PlateNumber = "JUA222", SearchStartDateTime = expectedDate } }.AsQueryable(); var fakeDbSet = StorageTestsUtil.SetupFakeDbSet(fakeIQueryable); var fakeHucaresContext = A.Fake <HucaresContext>(); A.CallTo(() => fakeHucaresContext.MissingLicensePlates) .Returns(fakeDbSet); var fakeDbContextFactory = A.Fake <IDbContextFactory>(); A.CallTo(() => fakeDbContextFactory.BuildHucaresContext()) .Returns(fakeHucaresContext); var missingPlateHelper = new MissingPlateHelper(fakeDbContextFactory); //Act var result = missingPlateHelper.GetAllPlateRecords(); //Assert A.CallTo(() => fakeDbContextFactory.BuildHucaresContext()) .MustHaveHappenedOnceExactly(); A.CallTo(() => fakeHucaresContext.SaveChanges()) .MustNotHaveHappened(); result.Count().ShouldBe(fakeIQueryable.Count()); Assert.IsTrue(result.SequenceEqual(fakeIQueryable.ToList()), "Lists are not equal"); }
public void UpdatePlateRecord_WhenRecordWithIdExist_ShouldUpdateRecord() { //Arrange var missingPlateObj = new MissingLicensePlate() { Id = 1, PlateNumber = "FOF150" }; var fakeIQueryable = new List <MissingLicensePlate>() { missingPlateObj }.AsQueryable(); var fakeDbSet = StorageTestsUtil.SetupFakeDbSet(fakeIQueryable); var fakeHucaresContext = A.Fake <HucaresContext>(); A.CallTo(() => fakeHucaresContext.MissingLicensePlates) .Returns(fakeDbSet); var fakeDbContextFactory = A.Fake <IDbContextFactory>(); A.CallTo(() => fakeDbContextFactory.BuildHucaresContext()) .Returns(fakeHucaresContext); var missingPlateHelper = new MissingPlateHelper(fakeDbContextFactory); //Act var expectedPlateNumber = "TRE145"; var result = missingPlateHelper.UpdatePlateRecord(missingPlateObj.Id, expectedPlateNumber, DateTime.Now); //Assert A.CallTo(() => fakeDbContextFactory.BuildHucaresContext()) .MustHaveHappenedOnceExactly(); A.CallTo(() => fakeDbSet.Add(A <MissingLicensePlate> .Ignored)) .MustNotHaveHappened(); A.CallTo(() => fakeHucaresContext.SaveChanges()) .MustHaveHappenedOnceExactly(); result.ShouldBe(missingPlateObj); missingPlateObj.PlateNumber.ShouldBe(expectedPlateNumber); }
public void InsertCamera_WhenAllDataValid_ShouldSucceedAndReturnExpected() { //Arrange var fakeIQueryable = new List <CameraInfo>().AsQueryable(); var fakeDbSet = StorageTestsUtil.SetupFakeDbSet(fakeIQueryable); var fakeHucaresContext = A.Fake <HucaresContext>(); A.CallTo(() => fakeHucaresContext.CameraInfo) .Returns(fakeDbSet); var fakeDbContextFactory = A.Fake <IDbContextFactory>(); A.CallTo(() => fakeDbContextFactory.BuildHucaresContext()) .Returns(fakeHucaresContext); var fakeDlpHelper = A.Fake <IDetectedPlateHelper>(); var cameraInfoHelper = new CameraInfoHelper(fakeDbContextFactory, fakeDlpHelper); //Act var expectedCameraInfo = new CameraInfo() { HostUrl = "http://localhost:5051/some/cam", Latitude = 53.124, Longitude = 27.375, IsTrustedSource = true }; var result = cameraInfoHelper.InsertCamera(expectedCameraInfo.HostUrl, expectedCameraInfo.Latitude, expectedCameraInfo.Longitude, expectedCameraInfo.IsTrustedSource); //Assert A.CallTo(() => fakeDbContextFactory.BuildHucaresContext()) .MustHaveHappenedOnceExactly(); A.CallTo(() => fakeDbSet.Add(result)) .MustHaveHappened(); A.CallTo(() => fakeHucaresContext.SaveChanges()) .MustHaveHappenedOnceExactly(); result.ShouldBe(expectedCameraInfo); }
public void MarkFoundPlate_WhenPlateIdExist_ShouldSucceed() { var missingPlateObj = new MissingLicensePlate() { Id = 1, SearchStartDateTime = new DateTime(2018, 05, 08), Status = LicensePlateFoundStatus.NotFound }; //Arrange var fakeIQueryable = new List <MissingLicensePlate>() { missingPlateObj }.AsQueryable(); var fakeDbSet = StorageTestsUtil.SetupFakeDbSet(fakeIQueryable); var fakeHucaresContext = A.Fake <HucaresContext>(); A.CallTo(() => fakeHucaresContext.MissingLicensePlates) .Returns(fakeDbSet); var fakeDbContextFactory = A.Fake <IDbContextFactory>(); A.CallTo(() => fakeDbContextFactory.BuildHucaresContext()) .Returns(fakeHucaresContext); var expectedSearch = LicensePlateFoundStatus.Found; var missingPlateHelper = new MissingPlateHelper(fakeDbContextFactory); var result = missingPlateHelper.MarkFoundPlate(missingPlateObj.Id, DateTime.Now, expectedSearch); //Act & Assert A.CallTo(() => fakeDbContextFactory.BuildHucaresContext()) .MustHaveHappenedOnceExactly(); A.CallTo(() => fakeDbSet.Add(A <MissingLicensePlate> .Ignored)) .MustNotHaveHappened(); A.CallTo(() => fakeHucaresContext.SaveChanges()) .MustHaveHappenedOnceExactly(); result.ShouldBe(missingPlateObj); missingPlateObj.Status.ShouldBe(expectedSearch); }
public void UpdatePlateRecord_WhenRecordWithIdDoesNotExist_ShouldThrow() { //Arrange var fakeIQueryable = new List <MissingLicensePlate>().AsQueryable(); var fakeDbSet = StorageTestsUtil.SetupFakeDbSet(fakeIQueryable); var fakeHucaresContext = A.Fake <HucaresContext>(); A.CallTo(() => fakeHucaresContext.MissingLicensePlates) .Returns(fakeDbSet); var fakeDbContextFactory = A.Fake <IDbContextFactory>(); A.CallTo(() => fakeDbContextFactory.BuildHucaresContext()) .Returns(fakeHucaresContext); var missingPlateHelper = new MissingPlateHelper(fakeDbContextFactory); //Act & Assert Assert.Throws <ArgumentException>(() => missingPlateHelper.UpdatePlateRecord(0, "JBA514", DateTime.Today)); }
public void DeleteCameraById_WhenDLPDependsOnCamera_ShouldThrow() { //Arrange var fakeIQueryable = new List <CameraInfo>().AsQueryable(); var fakeDbSet = StorageTestsUtil.SetupFakeDbSet(fakeIQueryable); var fakeHucaresContext = A.Fake <HucaresContext>(); A.CallTo(() => fakeHucaresContext.CameraInfo) .Returns(fakeDbSet); var fakeDbContextFactory = A.Fake <IDbContextFactory>(); A.CallTo(() => fakeDbContextFactory.BuildHucaresContext()) .Returns(fakeHucaresContext); var fakeDlpHelper = A.Fake <IDetectedPlateHelper>(); var expectedId = 0; A.CallTo(() => fakeDlpHelper.GetAllDetectedPlatesByCamera(expectedId, A <DateTime?> .Ignored, A <DateTime?> .Ignored)) .Returns(new List <DetectedLicensePlate>() { new DetectedLicensePlate() }); var cameraInfoHelper = new CameraInfoHelper(fakeDbContextFactory, fakeDlpHelper); //Act & Assert Assert.Throws <AccessViolationException>(() => cameraInfoHelper.DeleteCameraById(expectedId)); A.CallTo(() => fakeDlpHelper.GetAllDetectedPlatesByCamera(A <int> .Ignored, A <DateTime?> .Ignored, A <DateTime?> .Ignored)) .MustHaveHappened(); A.CallTo(() => fakeHucaresContext.SaveChanges()) .MustNotHaveHappened(); }
public void DeletePlateByNumber_WhenPlateWithNumberDoesNotExist_ShouldThrow() { //Arrange var fakeIQueryable = new List <MissingLicensePlate>().AsQueryable(); var fakeDbSet = StorageTestsUtil.SetupFakeDbSet(fakeIQueryable); var fakeHucaresContext = A.Fake <HucaresContext>(); A.CallTo(() => fakeHucaresContext.MissingLicensePlates) .Returns(fakeDbSet); var fakeDbContextFactory = A.Fake <IDbContextFactory>(); A.CallTo(() => fakeDbContextFactory.BuildHucaresContext()) .Returns(fakeHucaresContext); var missingPlateHelper = new MissingPlateHelper(fakeDbContextFactory); //Act & Assert Assert.Throws <ArgumentException>(() => missingPlateHelper.DeletePlateByNumber("TRO555")); A.CallTo(() => fakeHucaresContext.SaveChanges()) .MustNotHaveHappened(); }
public void InsertMissingPlate_WhenPlateNumberIsValid_ShouldSucceedAndReturnExpected() { //Arrange var fakeIQueryable = new List <MissingLicensePlate>().AsQueryable(); var fakeDbSet = StorageTestsUtil.SetupFakeDbSet(fakeIQueryable); var fakeHucaresContext = A.Fake <HucaresContext>(); A.CallTo(() => fakeHucaresContext.MissingLicensePlates) .Returns(fakeDbSet); var fakeDbContextFactory = A.Fake <IDbContextFactory>(); A.CallTo(() => fakeDbContextFactory.BuildHucaresContext()) .Returns(fakeHucaresContext); var missingLicensePlateHelper = new MissingPlateHelper(fakeDbContextFactory); //Act var expectedPlate = "JBA555"; var expectedDate = new DateTime(2017, 08, 15); var result = missingLicensePlateHelper.InsertPlateRecord(expectedPlate, expectedDate); //Assert A.CallTo(() => fakeDbContextFactory.BuildHucaresContext()) .MustHaveHappenedOnceExactly(); A.CallTo(() => fakeDbSet.Add(result)) .MustHaveHappened(); A.CallTo(() => fakeHucaresContext.SaveChanges()) .MustHaveHappenedOnceExactly(); result.PlateNumber.ShouldBe(expectedPlate); result.SearchStartDateTime.ShouldBe(expectedDate); }
public void GetAllDetectedMissingPlates_ShouldReturn() { //Arrange var expectedDetectedPlate = new DetectedLicensePlate() { Id = 1, PlateNumber = "ABC002", DetectedDateTime = new DateTime(2018, 09, 30), CamId = 2, ImgUrl = "http://localhost:6969/images", Confidence = 0.80 }; var fakeDetectedPlateList = new List <DetectedLicensePlate>() { expectedDetectedPlate, new DetectedLicensePlate() { Id = 0, PlateNumber = "ABC001", DetectedDateTime = new DateTime(2018, 09, 29), CamId = 1, ImgUrl = "http://localhost:6969/images", Confidence = 80 }, new DetectedLicensePlate() { Id = 2, PlateNumber = "ABC003", DetectedDateTime = new DateTime(2018, 09, 30), CamId = 2, ImgUrl = "http://localhost:6969/images", Confidence = 90.0 } }; var fakeMissingPlateList = new List <MissingLicensePlate>() { new MissingLicensePlate() { Id = 0, PlateNumber = expectedDetectedPlate.PlateNumber, SearchStartDateTime = new DateTime(2018, 09, 29), SearchEndDateTime = null, Status = LicensePlateFoundStatus.NotFound } }; var fakeDbSetDetectedPlates = StorageTestsUtil.SetupFakeDbSet(fakeDetectedPlateList.AsQueryable()); var fakeHucaresContext = A.Fake <HucaresContext>(); A.CallTo(() => fakeHucaresContext.DetectedLicensePlates) .Returns(fakeDbSetDetectedPlates); var fakeDbContextFactory = A.Fake <IDbContextFactory>(); A.CallTo(() => fakeDbContextFactory.BuildHucaresContext()) .Returns(fakeHucaresContext); var fakeMissingPlateHelper = A.Fake <IMissingPlateHelper>(); A.CallTo(() => fakeMissingPlateHelper.GetAllPlateRecords()) .Returns(fakeMissingPlateList); var detectedPlateHelper = new DetectedPlateHelper(fakeDbContextFactory, fakeMissingPlateHelper); //Act var result = detectedPlateHelper.GetAllDetectedMissingPlates(); //Assert A.CallTo(() => fakeDbContextFactory.BuildHucaresContext()).MustHaveHappened(); A.CallTo(() => fakeMissingPlateHelper.GetAllPlateRecords()).MustHaveHappened(); result.Count().ShouldBe(1); result.FirstOrDefault().ShouldBe(expectedDetectedPlate); }