public void GetMeasurementStatistic_Statistics()
        {
            // Arrange
            MeasurementsController measurementController = new MeasurementsController();

            // Act
            MeasurementsRepository.ClearAllMeasurements();

            var fromtimeValue = DateTime.UtcNow;

            MockData.SaveMeasurement(fromtimeValue.ToString());

            var totimeValue = DateTime.UtcNow.AddSeconds(3);

            MockData.SaveMeasurement(totimeValue.ToString());

            var response       = measurementController.GetMeasurementStatistics(MockData.PrepareMetricData(), MockData.PrepareStatsData(), fromtimeValue.ToString(), totimeValue.ToString());
            var actualResponse = response as OkNegotiatedContentResult <IList <Statistic> >;

            var returnResponse = (IList <Statistic>)actualResponse.Content;

            //Assert
            Assert.IsNotNull(response);
            Assert.IsTrue(returnResponse.Count > 1, "It should contain statistics ");
        }
        public void GetMeasurementStatistic_NoData_Statistics()
        {
            // Arrange
            MeasurementsController measurementController = new MeasurementsController();

            // Act
            MeasurementsRepository.ClearAllMeasurements();

            var fromtimeValue = DateTime.UtcNow;

            MockData.SaveMeasurement(fromtimeValue.ToString());

            var totimeValue = DateTime.UtcNow.AddSeconds(3);

            MockData.SaveMeasurement(totimeValue.ToString());

            var response       = measurementController.GetMeasurementStatistics(MockData.PrepareMetricData(), MockData.PrepareStatsData(), fromtimeValue.AddDays(1).ToString(), totimeValue.AddDays(3).ToString());
            var actualResponse = response as OkNegotiatedContentResult <String>;



            //Assert
            Assert.IsNotNull(actualResponse);
            Assert.AreEqual(actualResponse.Content, "No Data available");
        }
Example #3
0
        public void TestSetup()
        {
            string date = "2020-01-14T15:40:00";

            controller = new MeasurementsController();
            getItem    = new Measurement(2, 105.5, 49.8, 11, DateTime.Parse(date));
        }
Example #4
0
        public static void SaveMeasurement(String timeValue)
        {
            MeasurementsController measurementController = new MeasurementsController();

            MeasurementVM measurementdata = new MeasurementVM
            {
                TimeStampStr      = timeValue,
                MeasurementValues = PrepareMetricDataCollection()
            };
            var response = measurementController.SaveMeasurementsForTime(measurementdata);
        }
        public void Test_DeleteStation_ReturnsNotFoundResult()
        {
            // Arrange
            var mockRepo   = new Mock <IMongoDataRepository <Station> >();
            var controller = new MeasurementsController(mockRepo.Object, Mapper);

            // Act
            var notFoundResult = controller.DeleteStation(ObjectId.GenerateNewId().ToString());

            // Assert
            Assert.IsType <NotFoundResult>(notFoundResult.Result);
        }
        public void Test_GetAllMeasurements_ReturnsOkResult()
        {
            // Arrange
            var mockRepo   = new Mock <IMongoDataRepository <Station> >();
            var controller = new MeasurementsController(mockRepo.Object, Mapper);

            // Act
            var okResult = controller.GetAllMeasurements();

            // Assert
            Assert.IsType <OkObjectResult>(okResult.Result);
            Assert.IsType <List <StationMeasurementReadDto> >((okResult.Result as OkObjectResult).Value);
        }
Example #7
0
        public void Post()
        {
            // Disponer
            MeasurementsController controller = new MeasurementsController();
            Measurements           value      = new Measurements()
            {
                Value = 9.0, Device = "dronprueba"
            };

            // Actuar
            controller.Post(value);

            // Declarar
        }
        public void GetMeasurementStatistics_BadRequest_ForNullValues()
        {
            // Arrange
            MeasurementsController measurementController = new MeasurementsController();

            // Act
            var response       = measurementController.GetMeasurementStatistics(null, null, null, null);
            var actualResponse = response as BadRequestErrorMessageResult;


            //Assert
            Assert.IsNotNull(actualResponse);
            Assert.AreEqual(actualResponse.Message, "Parameters are not valid");
        }
        public void GetMeasurementsForTime_NowDate_ForDate()
        {
            // Arrange
            MeasurementsController measurementController = new MeasurementsController();

            // Act
            MeasurementsRepository.ClearAllMeasurements();

            var response       = measurementController.GetMeasurementsForTime(DateTime.Now.ToShortDateString());
            var actualResponse = response as NotFoundResult;


            //Assert
            Assert.IsNotNull(actualResponse);
        }
        public void GetMeasurementsForTime_BadRequest_ForFackDate()
        {
            // Arrange
            MeasurementsController measurementController = new MeasurementsController();

            // Act

            var response       = measurementController.GetMeasurementsForTime("6354635");
            var actualResponse = response as BadRequestErrorMessageResult;


            //Assert
            Assert.IsNotNull(actualResponse);
            Assert.AreEqual(actualResponse.Message, "Input date is not in correct Format");
        }
Example #11
0
        public void TestDeleteMeasurement()
        {
            //Arrange
            var MeasurementRepoMockClass = new Mock <IMeasurementRepo>();
            var expected = true;

            MeasurementRepoMockClass.Setup(x => x.Remove(2)).Returns(expected);
            var measuresController = new MeasurementsController(MeasurementRepoMockClass.Object);

            //Act
            bool result = measuresController.DeleteMeasurement(2);

            //Assert
            Assert.AreEqual(result, true);
        }
        public void SaveMeasurementsForTime_BadRequest_ForNullObject()
        {
            // Arrange
            MeasurementsController measurementController = new MeasurementsController();

            // Act

            MeasurementVM measurementdata = null;
            var           response        = measurementController.SaveMeasurementsForTime(measurementdata);
            var           actualResponse  = response as BadRequestErrorMessageResult;


            //Assert
            Assert.IsNotNull(response);
            Assert.AreEqual(actualResponse.Message, "Measurement cannot be added with invalid values");
        }
        public void Test_GetAllMeasurements_ReturnsNotFoundResult()
        {
            // Arrange
            var mockRepo = new Mock <IMongoDataRepository <Station> >();

            mockRepo.Setup(repo => repo.GetAllAsync())
            .Returns(Task.FromResult((IEnumerable <Station>) default(Station)));

            var controller = new MeasurementsController(mockRepo.Object, Mapper);

            // Act
            var notFoundResult = controller.GetAllMeasurements();

            // Assert
            Assert.IsType <NotFoundResult>(notFoundResult.Result);
        }
        public void GetMeasurementsForTime_ProperData_ForDate()
        {
            // Arrange
            MeasurementsController measurementController = new MeasurementsController();

            // Act
            MeasurementsRepository.ClearAllMeasurements();

            var timeValue = DateTime.UtcNow.ToString();

            MockData.SaveMeasurement(timeValue);
            var response       = measurementController.GetMeasurementsForTime(timeValue);
            var actualResponse = response as OkNegotiatedContentResult <IList <Measurement> >;
            var returnValue    = actualResponse.Content as IList <Measurement>;

            //Assert
            Assert.IsNotNull(actualResponse);
            Assert.IsTrue(returnValue.Count == 1, "Return value should be 1 because Added one measurement.");
        }
Example #15
0
        public void TestPostMeasurement()
        {
            //Arrange
            var MeasurementRepoMockClass = new Mock <IMeasurementRepo>();
            var measurement = new Measurement {
                Systolic = 131, Diastolic = 85, Category = "Hypertension stage1"
            };

            MeasurementRepoMockClass.Setup(x => x.AddNew(measurement)).Returns(measurement);
            var measurementController = new MeasurementsController(MeasurementRepoMockClass.Object);

            //Act
            Measurement result = measurementController.PostMeasurement(measurement);

            //Assert
            Assert.AreEqual(result.Systolic, 131);
            Assert.AreEqual(result.Diastolic, 85);
            Assert.AreEqual(result.Category, "Hypertension stage1");
        }
        public void Setup()
        {
            var connection = new SqliteConnection("Data Source=:memory:");

            connection.Open();
            _options = new DbContextOptionsBuilder <ApplicationContext>()
                       .UseSqlite(connection).Options;

            var context = new ApplicationContext(_options);

            context.Database.EnsureCreated();
            context.Locations.AddRange(
                new Location {
                Name = "Odense", Latitude = 2020, Longtitude = 2020
            },
                new Location {
                Name = "Aarhus", Latitude = 1010, Longtitude = 1010
            });

            context.Measurements.AddRange(
                m1 = new Measurement {
                LocationName = "Odense", Humidity = 70, Time = DateTime.Now, Pressure = 1019.9
            },
                m2 = new Measurement {
                LocationName = "Aarhus", Humidity = 70, Time = DateTime.Now, Pressure = 1019.9
            },
                m3 = new Measurement {
                LocationName = "Aarhus", Humidity = 70, Time = new DateTime(2020, 5, 1), Pressure = 1019.9
            },
                new Measurement {
                LocationName = "Aarhus", Humidity = 70, Time = new DateTime(2020, 2, 1), Pressure = 1019.9
            },
                new Measurement {
                LocationName = "Odense", Humidity = 70, Time = new DateTime(2020, 2, 1), Pressure = 1019.9
            }
                );
            context.SaveChanges();
            var hub = Substitute.For <IHubContext <MeasurementHub> >();

            _uut = new MeasurementsController(context, hub);
        }
        public void SaveMeasurementsForTime_BadRequest_ForNullMetricData()
        {
            // Arrange
            MeasurementsController measurementController = new MeasurementsController();

            // Act
            MeasurementsRepository.ClearAllMeasurements();

            var           metricDataList  = MockData.PrepareMetricDataCollection();
            MeasurementVM measurementdata = new MeasurementVM
            {
                TimeStampStr      = DateTime.UtcNow.ToString(),
                MeasurementValues = null
            };
            var response       = measurementController.SaveMeasurementsForTime(measurementdata);
            var actualResponse = response as BadRequestErrorMessageResult;

            //Assert
            Assert.IsNotNull(response);
            Assert.AreEqual(actualResponse.Message, "Measurement cannot be added with invalid values");
        }
        public void GetMeasurementStatistic_fromtimeValue_RestNullValues()
        {
            // Arrange
            MeasurementsController measurementController = new MeasurementsController();

            // Act
            var fromtimeValue = DateTime.UtcNow;

            MockData.SaveMeasurement(fromtimeValue.ToString());

            var totimeValue = DateTime.UtcNow.AddSeconds(3);

            MockData.SaveMeasurement(totimeValue.ToString());

            var response       = measurementController.GetMeasurementStatistics(null, null, fromtimeValue.ToString(), null);
            var actualResponse = response as BadRequestErrorMessageResult;


            //Assert
            Assert.IsNotNull(actualResponse);
            Assert.AreEqual(actualResponse.Message, "Parameters are not valid");
        }
        public void Test_DeleteMeasurement_ReturnsOkResult()
        {
            // Arrange
            var mockRepo = new Mock <IMongoDataRepository <Station> >();

            double[] position = new double[] { 30.2, 50.3 };
            Station  station  = this.Mock.MockStation(position);

            station.Id        = ObjectId.GenerateNewId();
            station.CreatedAt = station.UpdatedAt = DateTime.UtcNow;

            mockRepo.Setup(repo => repo.GetObjectByIdAsync(station.Id.ToString()))
            .Returns(Task.FromResult(station));

            var controller = new MeasurementsController(mockRepo.Object, Mapper);

            // Act
            var okResult = controller.DeleteStation(station.Id.ToString());

            // Assert
            Assert.IsType <OkObjectResult>(okResult.Result);
        }
        public void Test_GetMeasurementByStationId_ReturnsRightItem()
        {
            // Arrange
            var mockRepo = new Mock <IMongoDataRepository <Station> >();

            double[] position = new double[] { 30.2, 50.3 };
            Station  station  = this.Mock.MockStation(position);

            station.Id        = ObjectId.GenerateNewId();
            station.CreatedAt = station.UpdatedAt = DateTime.UtcNow;

            mockRepo.Setup(repo => repo.GetObjectByIdAsync(station.Id.ToString()))
            .Returns(Task.FromResult(station));

            var controller = new MeasurementsController(mockRepo.Object, Mapper);

            // Act
            var okResult = controller.GetMeasurementsByStationId(station.Id.ToString()).Result as OkObjectResult;

            // Assert
            Assert.IsType <StationMeasurementReadDto>(okResult.Value);
            Assert.Equal(station.Id.ToString(), (okResult.Value as StationMeasurementReadDto).Id);
        }
Example #21
0
        public void TestGetMeasurements()
        {
            //arrange
            var MeasurementRepoMockClass         = new Mock <IMeasurementRepo>();
            List <Measurement> getMeasurementObj = new List <Measurement>()
            {
                new Measurement {
                    Id = 1, Systolic = 115, Diastolic = 78, Category = "Normal", Date = DateTime.Now
                },
                new Measurement {
                    Id = 2, Systolic = 121, Diastolic = 75, Category = "Elevated", Date = DateTime.Now
                },
            };

            MeasurementRepoMockClass.Setup(x => x.GetAll()).Returns(getMeasurementObj);
            var measurementController = new MeasurementsController(MeasurementRepoMockClass.Object);

            //Act
            List <Measurement> result = measurementController.GetMeasurements();

            //assert
            Assert.AreEqual(result[0].Systolic, 115);
            Assert.AreEqual(result[1].Category, "Elevated");
        }
        public void GetMeasurementsForTime_NoValue_ForDate()
        {
            // Arrange
            MeasurementsController measurementController = new MeasurementsController();

            // Act
            MeasurementsRepository.ClearAllMeasurements();

            var fromtimeValue = DateTime.UtcNow;

            MockData.SaveMeasurement(fromtimeValue.ToString());



            var totimeValue = DateTime.UtcNow.AddSeconds(3);

            MockData.SaveMeasurement(totimeValue.ToString());

            var response       = measurementController.GetMeasurementsForTime(fromtimeValue.ToString(), totimeValue.AddHours(1).ToString());
            var actualResponse = response as NotFoundResult;

            //Assert
            Assert.IsNotNull(actualResponse);
        }
        public void GetMeasurementsForTime_InRange_ForDate()
        {
            // Arrange
            MeasurementsController measurementController = new MeasurementsController();

            // Act
            MeasurementsRepository.ClearAllMeasurements();

            var fromtimeValue = DateTime.UtcNow;

            MockData.SaveMeasurement(fromtimeValue.ToString());

            var totimeValue = DateTime.UtcNow.AddSeconds(3);

            MockData.SaveMeasurement(totimeValue.ToString());

            var response       = measurementController.GetMeasurementsForTime(fromtimeValue.ToString(), null);
            var actualResponse = response as OkNegotiatedContentResult <IList <Measurement> >;
            var returnValue    = actualResponse.Content as IList <Measurement>;

            //Assert
            Assert.IsNotNull(actualResponse);
            Assert.IsTrue(returnValue.Count == 2, "Return value should be 2 because Added 2 measurement with in time range");
        }
        public void MeasurementsController_Post_CreatesMeasurement()
        {
            // arrange isolation
            var id = default(long);

            using (var context = new Context("BlacksmithPress.Diabetes"))
            {
                id = context.Measurements.Any() ? context.Measurements.Max(m => m.Id) + 1 : 1;
            }

            // arrange test
            var controller = new MeasurementsController();
            var expected   = new Measurement
            {
                Timestamp = SystemClock.Instance.Now,
                Subject   = new Person {
                    Id = 2, Name = "Ethan"
                },
                Attribute     = MeasuredAttribute.Glucose,
                Amount        = 150M,
                UnitOfMeasure = UnitOfMeasure.mgdL,
            };

            // act
            var result = controller.PostMeasurement(expected);

            // assert
            using (var context = new Context("BlacksmithPress.Diabetes"))
            {
                var actual = context.Measurements.Find(id);
                expected.Id = id;
                actual.ShouldBe(expected);
            }

            // clean-up
        }
        public void SaveMeasurementsForTime_Created()
        {
            // Arrange
            MeasurementsController measurementController = new MeasurementsController();

            // Act
            MeasurementsRepository.ClearAllMeasurements();

            var           metricDataList  = MockData.PrepareMetricDataCollection();
            var           timeValue       = DateTime.UtcNow.ToString();
            MeasurementVM measurementdata = new MeasurementVM
            {
                TimeStampStr      = timeValue,
                MeasurementValues = MockData.PrepareMetricDataCollection()
            };
            var response       = measurementController.SaveMeasurementsForTime(measurementdata);
            var actualResponse = response as CreatedNegotiatedContentResult <string>;

            //Assert
            Assert.IsNotNull(actualResponse);
            Assert.IsInstanceOfType(response, typeof(CreatedNegotiatedContentResult <string>));
            Assert.AreEqual(actualResponse.Location, "api/Measurements", "Route should be api/Measurements");
            Assert.AreEqual(actualResponse.Content, timeValue, $"Measurement should be save for {timeValue}");
        }
        public void GetContextTest()
        {
            var testcontroller = new MeasurementsController();

            Assert.IsType <AssetsDBContext>(testcontroller.GetContext());
        }
Example #27
0
 public void SetUp()
 {
     _mockService = new Mock <IMeasurementsService>();
     _controller  = new MeasurementsController(_mockService.Object);
 }