Exemplo n.º 1
0
 public int MapCapturedImageToGeoMarker(int capturedImageId, int geoMarkerId)
 {
     // Refactor this to remove the internal generation of "CapturedImageGeoMarker".
     var capturedImageGeoMarker = new CapturedImageGeoMarker();
     capturedImageGeoMarker.CapturedImageId = capturedImageId;
     capturedImageGeoMarker.GeoMarkerId = geoMarkerId;
     _myBigBroRepository.Add<CapturedImageGeoMarker>(capturedImageGeoMarker);
     _myBigBroRepository.SaveChanges();
     return capturedImageGeoMarker.Id;
 }
        public void SetUpUnitTestsWebCamService()
        {
            // arrange - setup mock services and repository
            webCamControl = new Mock<IWebCamControl>();
            location = new Mock<ILocation>();
            geoMarker = new Mock<IGeoMarker>();
            webCam1 = new Mock<IWebCam>();
            webCam2 = new Mock<IWebCam>();
            //device1 = new Mock<IDevice>();
            //device2 = new Mock<IDevice>();
            mockRepository = new Mock<IMyBigBroRepository>();

            // arrange - setup geomarkers
            var geoMarker1 = new GeoMarker
            {
                Id = 234,
                XCoord = 2,
                YCoord = 2,
                MarkerDateTime = new DateTime(2014, 01, 01, 10, 10, 00),
                DeviceId = 1
            };
            var geoMarker2 = new GeoMarker
            {
                Id = 12,
                XCoord = 4,
                YCoord = 4,
                MarkerDateTime = new DateTime(2014, 01, 01, 10, 30, 00),
                DeviceId = 1
            };
            var geoMarker3 = new GeoMarker
            {
                Id = 1,
                XCoord = 6,
                YCoord = 6,
                MarkerDateTime = new DateTime(2014, 01, 01, 10, 45, 00),
                DeviceId = 2
            };

            // arrange - setup captured images
            var capturedImage1 = new CapturedImage
            {
                Id = 345,
                WebCamId = 123,
                DateTimeCaptured = new DateTime(2014, 01, 01, 10, 10, 00),
                Url = "http://test.com/1"
            };
            var capturedImage2 = new CapturedImage
            {
                Id = 14,
                WebCamId = 345,
                DateTimeCaptured = new DateTime(2014, 01, 01, 10, 30, 00),
                Url = "http://test.com/2"
            };
            var capturedImage3 = new CapturedImage
            {
                Id = 2,
                WebCamId = 567,
                DateTimeCaptured = new DateTime(2014, 01, 01, 10, 45, 00),
                Url = "http://test.com/3"
            };

            // arrange - setup geomarkers
            var device1 = new Device
            {
                Id = 1,
                DeviceName = "test1"
            };
            var device2 = new Device
            {
                Id = 2,
                DeviceName = "test2"
            };

            // arrange setup the captured images
            var capturedImageGeoMarker = new CapturedImageGeoMarker();
            capturedImageGeoMarker.Id = 789;
            capturedImageGeoMarker.CapturedImageId = capturedImage1.Id;
            capturedImageGeoMarker.GeoMarkerId = geoMarker1.Id;
            var capturedImageGeoMarker2 = new CapturedImageGeoMarker();
            capturedImageGeoMarker2.Id = 222;
            capturedImageGeoMarker2.CapturedImageId = capturedImage2.Id;
            capturedImageGeoMarker2.GeoMarkerId = geoMarker2.Id;
            var capturedImageGeoMarker3 = new CapturedImageGeoMarker();
            capturedImageGeoMarker3.Id = 333;
            capturedImageGeoMarker3.CapturedImageId = capturedImage3.Id;
            capturedImageGeoMarker3.GeoMarkerId = geoMarker3.Id;

            // arrange - setup the mock behaviour
            mockRepository.Setup(x => x.Set<GeoMarker>()).Returns(new List<GeoMarker> { geoMarker1, geoMarker2, geoMarker3 }.AsQueryable());
            mockRepository.Setup(x => x.Set<CapturedImage>()).Returns(new List<CapturedImage> { capturedImage1, capturedImage2, capturedImage3 }.AsQueryable());
            mockRepository.Setup(x => x.Set<CapturedImageGeoMarker>()).Returns(new List<CapturedImageGeoMarker> { capturedImageGeoMarker, capturedImageGeoMarker2, capturedImageGeoMarker3 }.AsQueryable());
            mockRepository.Setup(x => x.Set<Device>()).Returns(new List<Device> { device1, device2 }.AsQueryable());

            // setup service to test
            geoMarkerService = new GeoMarkerService(webCamControl.Object, location.Object, mockRepository.Object);
        }