public void TestImageCaptureAndStorage() { var context = new MyBigBroContext(Settings.Default.connectionString); var repository = new MyBigBroRepository(); var location = new Location(repository); var geometry = new Geometry(); repository.Context = context; location.MyBigBroRepository = repository; var pointInRangeOfWebCamId4Only = new Point { XCoord = 174.706, YCoord = -36.872 }; if (location.IsPointWithinWebCamRadiusOfVisibility(pointInRangeOfWebCamId4Only)) { var webCamControl = new WebCamControl(new AwsStorageServiceAgent(), repository, geometry); webCamControl.MyBigBroRepository = repository; webCamControl.StorageServiceAgent = new AwsStorageServiceAgent(); var webCams = location.GetWebCamsWithinWebCamRadiusOfVisibility(pointInRangeOfWebCamId4Only); foreach (var webCam in webCams) { webCamControl.WebCam = webCam; webCamControl.WebCamImage = new WebCamImage(); webCamControl.CapturedImage = new CapturedImage(); webCamControl.CaptureCurrentImage(new WebCamDataRequest()); webCamControl.StoreCapturedImage(); } } }
public void TestCaptureCurrentImage() { // arrange var webCamControl = new WebCamControl(storageServiceAgent.Object, myBigBroRepository.Object); string key = null; webCam.SetupProperty(x => x.Url, "Dummy URL - should this be validated?"); webCamControl.WebCam = webCam.Object; storageServiceAgent.Setup(x => x.PutImage(It.IsAny<IWebCamImage>(), out key)).Returns(string.Empty); webCamControl.StorageServiceAgent = storageServiceAgent.Object; webCamImage.SetupProperty(x => x.Data, Encoding.ASCII.GetBytes(dummyImageData)); webCamControl.WebCamImage = webCamImage.Object; webCamDataRequest.Setup(x => x.GetWebCamResponse(It.IsAny<string>())).Returns(new WebCamWebResponse()); webCamDataRequest.Setup(x => x.GetWebCamResponseStream(It.IsAny<WebCamWebResponse>())).Returns(new MemoryStream(Encoding.ASCII.GetBytes(dummyImageData))); // act webCamControl.CaptureCurrentImage(webCamDataRequest.Object); // assert Assert.NotNull(webCamControl.WebCamImage.Data); Assert.AreEqual(webCamControl.WebCamImage.Data.Length, dummyImageData.Length); }
public void TestGetNearestWebCam() { // arrange var webCamControl = new WebCamControl(storageServiceAgent.Object, myBigBroRepository.Object, geometry.Object); myBigBroRepository.Setup(x => x.Set<WebCam>()) .Returns( (new [] { new WebCam() {Id = 2, XCoord = 3, YCoord = 5}, new WebCam() {Id = 3, XCoord = 2, YCoord = 2}, new WebCam() {Id = 4, XCoord = 1, YCoord = 1} }.AsQueryable())); webCamControl.MyBigBroRepository = myBigBroRepository.Object; webCamControl.CapturedImage = new CapturedImage(); // act var nearestWebCam = webCamControl.GetNearestWebCam(new GeoMarker(){XCoord = 0.5, YCoord = 0.5}); // assert Assert.IsNotNull(nearestWebCam); Assert.AreEqual(4, nearestWebCam.Id); }
public void TestStoreCapturedImage() { // arrange var webCamControl = new WebCamControl(storageServiceAgent.Object, myBigBroRepository.Object); string key = null; webCam.SetupProperty(x => x.Id, 14); webCamControl.WebCam = webCam.Object; webCamImage.SetupProperty(x => x.Data, Encoding.ASCII.GetBytes(dummyImageData)); webCamControl.WebCamImage = webCamImage.Object; storageServiceAgent.Setup(x => x.PutImage(It.IsAny<IWebCamImage>(), out key)).Returns("test.file"); webCamControl.StorageServiceAgent = storageServiceAgent.Object; myBigBroRepository.Setup(x => x.Add(It.IsAny<ICapturedImage>())); myBigBroRepository.Setup(x => x.SaveChanges()).Returns(1); webCamControl.MyBigBroRepository = myBigBroRepository.Object; webCamControl.CapturedImage = new CapturedImage(); // act webCamControl.StoreCapturedImage(); // assert Assert.NotNull(webCamControl.CapturedImage); Assert.AreEqual(webCamControl.CapturedImage.Url, "test.file"); Assert.AreEqual(webCamControl.CapturedImage.WebCamId, 14); }