public MeasurementDisplay(Element element, AnomalousMvcContext context, RocketWidget rocketWidget) { this.context = context; this.element = element; this.rocketWidget = rocketWidget; String target = element.GetAttributeString("target"); if (MeasurementController.tryGetCalculator(target, out measurement)) { switch (element.GetAttributeString("units")) { case "percent": context.OnLoopUpdate += Context_OnLoopUpdatePercent; break; case "centimeters": context.OnLoopUpdate += Context_OnLoopUpdateCm; break; case "millimeters": default: context.OnLoopUpdate += Context_OnLoopUpdateMm; break; } } else { Log.Warning("Could not find a measurement named '{0}'. The measurement will not be displayed.", target); element.InnerRml = String.Format("Cannot find measurement '{0}' in scene.", target); } }
public void TestLoad_MeasurementIsNotNull_ShouldCallFactoryCreatMeasurementViewModelCorrectly() { // Arrange var mockedFactory = new Mock <IViewModelFactory>(); var mockedDateTimeProvider = new Mock <IDateTimeProvider>(); var Measurement = new Measurement(); var mockedMeasurementService = new Mock <IMeasurementService>(); mockedMeasurementService.Setup(s => s.GetByDate(It.IsAny <string>(), It.IsAny <DateTime>())) .Returns(Measurement); var mockedAuthenticationProvider = new Mock <IAuthenticationProvider>(); var date = new DateTime(2, 3, 4); var controller = new MeasurementController(mockedAuthenticationProvider.Object, mockedMeasurementService.Object, mockedFactory.Object); // Act controller.Load(date); // Assert mockedFactory.Verify(f => f.CreateMeasurementViewModel(Measurement, date)); }
public async Task GetTemperatureSensor_Found() { var hueSensorProvider = Substitute.For <IHueSensorProvider>(); TemperatureSensor sensor = new TemperatureSensor { Id = 6, Name = "Sensor6", Type = SensorType.Temperature, BatteryPercentage = 51, State = new TemperatureSensorState { Temperature = 24.57f } }; hueSensorProvider.GetTemperatureSensorByIdAsync(6).Returns(Task.FromResult(sensor)); var controller = new MeasurementController(hueSensorProvider); var result = await controller.GetTemperatureSensor(6); var okResult = Assert.IsType <OkObjectResult>(result.Result); var sensorResult = Assert.IsType <TemperatureSensor>(okResult.Value); Assert.Equal(sensor, sensorResult); }
public void TestStats_NoIdProvidedAndIsAuthenticated_ShouldCallAuthenticationProviderCurrentUserId() { // Arrange var model = new MeasurementStatsViewModel(); var mockedFactory = new Mock <IViewModelFactory>(); mockedFactory.Setup(f => f.CreateMeasurementStatsViewModel(It.IsAny <IEnumerable <Measurement> >())).Returns(model); var mockedMeasurementService = new Mock <IMeasurementService>(); var mockedAuthenticationProvider = new Mock <IAuthenticationProvider>(); mockedAuthenticationProvider.Setup(p => p.IsAuthenticated).Returns(true); var controller = new MeasurementController(mockedAuthenticationProvider.Object, mockedMeasurementService.Object, mockedFactory.Object); // Act controller.Stats(null); // Assert mockedAuthenticationProvider.Verify(p => p.CurrentUserId, Times.Once); }
public void TestStats_NoIdProvidedAndIsAuthenticated_ShouldSetModelCanDeleteToTrue() { // Arrange var model = new MeasurementStatsViewModel(); var mockedFactory = new Mock <IViewModelFactory>(); mockedFactory.Setup(f => f.CreateMeasurementStatsViewModel(It.IsAny <IEnumerable <Measurement> >())).Returns(model); var mockedMeasurementService = new Mock <IMeasurementService>(); var mockedAuthenticationProvider = new Mock <IAuthenticationProvider>(); mockedAuthenticationProvider.Setup(p => p.IsAuthenticated).Returns(true); var controller = new MeasurementController(mockedAuthenticationProvider.Object, mockedMeasurementService.Object, mockedFactory.Object); // Act controller.Stats(null); // Assert Assert.IsTrue(model.CanDelete); }
public void TestStats_ShouldCallFactoryCreateMeasurementStatsViewModel(string userId) { // Arrange var model = new MeasurementStatsViewModel(); var mockedFactory = new Mock <IViewModelFactory>(); mockedFactory.Setup(f => f.CreateMeasurementStatsViewModel(It.IsAny <IEnumerable <Measurement> >())).Returns(model); var measurements = new List <Measurement> { new Measurement(), new Measurement() }; var mockedMeasurementService = new Mock <IMeasurementService>(); mockedMeasurementService.Setup(s => s.GetUserMeasurementsSortedByDate(It.IsAny <string>())).Returns(measurements); var mockedAuthenticationProvider = new Mock <IAuthenticationProvider>(); mockedAuthenticationProvider.Setup(p => p.CurrentUserId).Returns(userId); var controller = new MeasurementController(mockedAuthenticationProvider.Object, mockedMeasurementService.Object, mockedFactory.Object); // Act controller.Stats(null); // Assert mockedFactory.Verify(f => f.CreateMeasurementStatsViewModel(measurements), Times.Once); }
public void TestStats_ShouldRenderDefaultViewWithCorrectModel(string userId) { // Arrange var model = new MeasurementStatsViewModel(); var mockedFactory = new Mock <IViewModelFactory>(); mockedFactory.Setup(f => f.CreateMeasurementStatsViewModel(It.IsAny <IEnumerable <Measurement> >())).Returns(model); var mockedMeasurementService = new Mock <IMeasurementService>(); var mockedAuthenticationProvider = new Mock <IAuthenticationProvider>(); mockedAuthenticationProvider.Setup(p => p.CurrentUserId).Returns(userId); var controller = new MeasurementController(mockedAuthenticationProvider.Object, mockedMeasurementService.Object, mockedFactory.Object); // Act, Assert controller .WithCallTo(c => c.Stats(null)) .ShouldRenderDefaultPartialView() .WithModel <MeasurementStatsViewModel>(m => Assert.AreSame(model, m)); }
public void TestLoad_ShouldRenderCorrectViewWithModel() { // Arrange var viewModel = new MeasurementViewModel(); var mockedFactory = new Mock <IViewModelFactory>(); mockedFactory.Setup(f => f.CreateMeasurementViewModel(It.IsAny <Measurement>(), It.IsAny <DateTime>())) .Returns(viewModel); var mockedDateTimeProvider = new Mock <IDateTimeProvider>(); var mockedMeasurementService = new Mock <IMeasurementService>(); var mockedAuthenticationProvider = new Mock <IAuthenticationProvider>(); var date = new DateTime(2, 3, 4); var controller = new MeasurementController(mockedAuthenticationProvider.Object, mockedMeasurementService.Object, mockedFactory.Object); // Act, Assert controller .WithCallTo(c => c.Load(date)) .ShouldRenderDefaultPartialView() .WithModel <MeasurementViewModel>(m => Assert.AreSame(viewModel, m)); }
public void TestGetMeasurement_ServiceReturnsMeasurement_ShouldRenderPartialViewWithModel(int id) { // Arrange var date = new DateTime(1, 2, 3); var measurement = new Measurement { Date = date }; var model = new MeasurementViewModel(); var mockedFactory = new Mock <IViewModelFactory>(); mockedFactory.Setup(f => f.CreateMeasurementViewModel(It.IsAny <Measurement>(), It.IsAny <DateTime>())) .Returns(model); var mockedDateTimeProvider = new Mock <IDateTimeProvider>(); var mockedMeasurementService = new Mock <IMeasurementService>(); mockedMeasurementService.Setup(s => s.GetById(It.IsAny <int>())).Returns(measurement); var mockedAuthenticationProvider = new Mock <IAuthenticationProvider>(); var controller = new MeasurementController(mockedAuthenticationProvider.Object, mockedMeasurementService.Object, mockedFactory.Object); // Act, Assert controller .WithCallTo(c => c.GetMeasurement(id)) .ShouldRenderPartialView("MeasurementDetails") .WithModel <MeasurementViewModel>(model); }
public void TestGetMeasurement_ServiceReturnsMeasurement_ShouldCallFactoryCreateMeasurementViewModel(int id) { // Arrange var date = new DateTime(1, 2, 3); var measurement = new Measurement { Date = date }; var mockedFactory = new Mock <IViewModelFactory>(); var mockedDateTimeProvider = new Mock <IDateTimeProvider>(); var mockedMeasurementService = new Mock <IMeasurementService>(); mockedMeasurementService.Setup(s => s.GetById(It.IsAny <int>())).Returns(measurement); var mockedAuthenticationProvider = new Mock <IAuthenticationProvider>(); var controller = new MeasurementController(mockedAuthenticationProvider.Object, mockedMeasurementService.Object, mockedFactory.Object); // Act controller.GetMeasurement(id); // Assert mockedFactory.Verify(f => f.CreateMeasurementViewModel(measurement, date), Times.Once); }
public async Task GetAllSensors_ListValid() { var hueSensorProvider = Substitute.For <IHueSensorProvider>(); List <Sensor> list = new List <Sensor> { new DummySensor { Id = 1, Name = "Sensor1", Type = SensorType.Dummy, BatteryPercentage = 51 }, new TemperatureSensor { Id = 6, Name = "Sensor6", Type = SensorType.Temperature, BatteryPercentage = 51, State = new TemperatureSensorState { Temperature = 24.57f } } }; hueSensorProvider.GetAllSensorsAsync().Returns(Task.FromResult(list)); var controller = new MeasurementController(hueSensorProvider); var result = await controller.GetAllSensors(); var okResult = Assert.IsType <OkObjectResult>(result.Result); var sensors = Assert.IsType <List <Sensor> >(okResult.Value); Assert.Equal(list, sensors); }
public void TestSave_ModelStateIsNotValid_ShouldRenderCorrectPartialViewWithModel(int height, double weightKg, double bodyFatPercent, int chest, int shoulders, int forearm, int arm, int waist, int hips, int thighs, int calves, int neck, int wrist, int ankle, string userId) { // Arrange, var date = new DateTime(2, 3, 4); var model = new MeasurementViewModel { Date = date, Height = height, WeightKg = weightKg, BodyFatPercent = bodyFatPercent, Chest = chest, Shoulders = shoulders, Forearm = forearm, Arm = arm, Waist = waist, Hips = hips, Thighs = thighs, Calves = calves, Neck = neck, Wrist = wrist, Ankle = ankle }; var mockedFactory = new Mock <IViewModelFactory>(); var mockedDateTimeProvider = new Mock <IDateTimeProvider>(); var mockedMeasurementService = new Mock <IMeasurementService>(); var mockedAuthenticationProvider = new Mock <IAuthenticationProvider>(); var controller = new MeasurementController(mockedAuthenticationProvider.Object, mockedMeasurementService.Object, mockedFactory.Object); controller.ModelState.AddModelError("", ""); // Act controller.Save(model); // Assert controller .WithCallTo(c => c.Save(model)) .ShouldRenderPartialView("Load") .WithModel <MeasurementViewModel>(m => Assert.AreSame(model, m)); }
public void TestSave_ModelStateIsValid_ShouldCallAuthenticationProviderCurrentUserId(int height, double weightKg, double bodyFatPercent, int chest, int shoulders, int forearm, int arm, int waist, int hips, int thighs, int calves, int neck, int wrist, int ankle, string userId) { // Arrange, var date = new DateTime(2, 3, 4); var model = new MeasurementViewModel { Date = date, Height = height, WeightKg = weightKg, BodyFatPercent = bodyFatPercent, Chest = chest, Shoulders = shoulders, Forearm = forearm, Arm = arm, Waist = waist, Hips = hips, Thighs = thighs, Calves = calves, Neck = neck, Wrist = wrist, Ankle = ankle }; var mockedFactory = new Mock <IViewModelFactory>(); mockedFactory.Setup(f => f.CreateMeasurementViewModel(It.IsAny <Measurement>(), It.IsAny <DateTime>())) .Returns(model); var mockedDateTimeProvider = new Mock <IDateTimeProvider>(); var mockedMeasurementService = new Mock <IMeasurementService>(); var mockedAuthenticationProvider = new Mock <IAuthenticationProvider>(); var controller = new MeasurementController(mockedAuthenticationProvider.Object, mockedMeasurementService.Object, mockedFactory.Object); // Act controller.Save(model); // Assert mockedAuthenticationProvider.Verify(p => p.CurrentUserId, Times.Once); }
public async Task GetSensor_NotFound() { var hueSensorProvider = Substitute.For <IHueSensorProvider>(); Sensor sensor = null; hueSensorProvider.GetSensorByIdAsync(1).Returns(Task.FromResult(sensor)); var controller = new MeasurementController(hueSensorProvider); var result = await controller.GetSensor(1); Assert.IsType <NotFoundResult>(result.Result); }
public async Task GetAllTemperatureSensors_ListNull() { var hueSensorProvider = Substitute.For <IHueSensorProvider>(); List <TemperatureSensor> list = null; hueSensorProvider.GetAllTemperatureSensorsAsync().Returns(Task.FromResult(list)); var controller = new MeasurementController(hueSensorProvider); var result = await controller.GetAllTemperatureSensors(); Assert.IsType <NotFoundResult>(result.Result); }
public async Task GetAllSensors_ListEmpty() { var hueSensorProvider = Substitute.For <IHueSensorProvider>(); List <Sensor> list = new List <Sensor>(); hueSensorProvider.GetAllSensorsAsync().Returns(Task.FromResult(list)); var controller = new MeasurementController(hueSensorProvider); var result = await controller.GetAllSensors(); Assert.IsType <NoContentResult>(result.Result); }
public async Task get_measurements_with_existing_id() { var repository = MeasurementContextMocker.GetInMemoryMeasurementsRepository(nameof(get_measurements_with_existing_id)); var controller = new MeasurementController(repository); var expectedValue = 0.05m; var response = await controller.Get(1) as ObjectResult; var measurement = response.Value as Measurement; Assert.Equal(200, response.StatusCode); Assert.Equal(expectedValue, measurement.Value); }
public void DeleteExceptionThrown() { //Setup var measurementServiceMock = new Mock <IMeasurementService>(); measurementServiceMock.Setup(x => x.Delete(1)).Throws <Exception>(); var dataModelMock = new Mock <IDataModel>(); //Execute var target = new MeasurementController(measurementServiceMock.Object, dataModelMock.Object); var results = target.Delete(1); //Evaluate Assert.IsInstanceOf <ExceptionResult>(results); }
public async Task get_measurement_with_not_existing_id() { // Arrange var repository = MeasurementContextMocker.GetInMemoryMeasurementsRepository(nameof(get_measurement_with_not_existing_id)); var controller = new MeasurementController(repository); var expectedMessage = "The Measurment record couldn't be found"; // Act var response = await controller.Get(10) as ObjectResult; // Assert Assert.Equal(404, response.StatusCode); Assert.Equal(expectedMessage, response.Value); }
public void Index_Action_Returns_Model_Type() { //arrange var _dataRepository = new Mock <IDataRepository>(); var _controller = new MeasurementController(_dataRepository.Object); var user = new User(); // _dataRepository.Setup(x => x.Get(It.IsAny<string>())).Returns(new List<User>); //act var result = _controller.Index() as ViewResult; //assert Assert.AreEqual(user.GetType(), result.Model.GetType()); }
public void Index_Action_Display_View_Index() { //arrange var _dataRepository = new Mock <IDataRepository>(); var _controller = new MeasurementController(_dataRepository.Object); // _dataRepository.Setup(x => x.Get(It.IsAny<string>())).Returns( new Collection<User>()); //act var result = _controller.Index() as ViewResult; //assert Assert.IsNotNull(result); //Assert.AreEqual("Index",result.ViewName); }
public void TestConstructor_PassEverything_ShouldInitializeCorrectly() { // Arrange var mockedFactory = new Mock <IViewModelFactory>(); var mockedDateTimeProvider = new Mock <IDateTimeProvider>(); var mockedMeasurementService = new Mock <IMeasurementService>(); var mockedAuthenticationProvider = new Mock <IAuthenticationProvider>(); // Act var controller = new MeasurementController(mockedAuthenticationProvider.Object, mockedMeasurementService.Object, mockedFactory.Object); // Assert Assert.IsNotNull(controller); }
public async Task get_all_measurements() { // Arrange var repository = MeasurementContextMocker.GetInMemoryMeasurementsRepository(nameof(get_all_measurements)); var controller = new MeasurementController(repository); // Act var response = await controller.GetAll() as ObjectResult; var measurements = response.Value as List <Measurement>; // Assert Assert.Equal(200, response.StatusCode); Assert.Equal(5, measurements.Count); }
public void PatchRecordNotFound() { //Setup var measurementServiceMock = new Mock <IMeasurementService>(); measurementServiceMock.Setup(x => x.Update(It.IsAny <Measurement>())).Returns(false); //this will trigger not found var dataModelMock = new Mock <IDataModel>(); //Execute var target = new MeasurementController(measurementServiceMock.Object, dataModelMock.Object); var results = target.Patch(new Measurement()); //Evalute Assert.IsInstanceOf <NotFoundResult>(results); }
public void PatchSuccess() { //Setup var measurementServiceMock = new Mock <IMeasurementService>(); measurementServiceMock.Setup(x => x.Update(It.IsAny <Measurement>())).Returns(true); var dataModelMock = new Mock <IDataModel>(); //Execute var target = new MeasurementController(measurementServiceMock.Object, dataModelMock.Object); var results = target.Patch(new Measurement()); //Evalute dataModelMock.Verify(x => x.SaveChanges(), Times.Once); Assert.IsInstanceOf <UpdatedODataResult <Measurement> >(results); }
public void TestGetMeasurement_ServiceReturnsNull_ShouldRenderPartialViewWithModelNull(int id) { // Arrange var mockedFactory = new Mock <IViewModelFactory>(); var mockedDateTimeProvider = new Mock <IDateTimeProvider>(); var mockedMeasurementService = new Mock <IMeasurementService>(); var mockedAuthenticationProvider = new Mock <IAuthenticationProvider>(); var controller = new MeasurementController(mockedAuthenticationProvider.Object, mockedMeasurementService.Object, mockedFactory.Object); // Act, Assert controller .WithCallTo(c => c.GetMeasurement(id)) .ShouldRenderPartialView("MeasurementDetails"); }
public void TestLoad_ModelStateIsValid_ShouldCallAuthenticationProviderCurrentUserId() { // Arrange var mockedFactory = new Mock <IViewModelFactory>(); var mockedDateTimeProvider = new Mock <IDateTimeProvider>(); var mockedMeasurementService = new Mock <IMeasurementService>(); var mockedAuthenticationProvider = new Mock <IAuthenticationProvider>(); var controller = new MeasurementController(mockedAuthenticationProvider.Object, mockedMeasurementService.Object, mockedFactory.Object); // Act controller.Load(new DateTime()); // Assert mockedAuthenticationProvider.Verify(p => p.CurrentUserId, Times.Once); }
public void DeleteSuccess() { //Setup var measurementServiceMock = new Mock <IMeasurementService>(); measurementServiceMock.Setup(x => x.Delete(1)).Returns(true); var dataModelMock = new Mock <IDataModel>(); //Execute var target = new MeasurementController(measurementServiceMock.Object, dataModelMock.Object); var results = target.Delete(1); //Evalute dataModelMock.Verify(x => x.SaveChanges(), Times.Once); Assert.IsInstanceOf <StatusCodeResult>(results); Assert.AreEqual(HttpStatusCode.NoContent, ((StatusCodeResult)results).StatusCode); }
public void TestDeleteMeasurement_ShouldCallAuthenticationProviderCurrentUserId(int id, string userId) { // Arrange var mockedFactory = new Mock <IViewModelFactory>(); var mockedDateTimeProvider = new Mock <IDateTimeProvider>(); var mockedMeasurementService = new Mock <IMeasurementService>(); var mockedAuthenticationProvider = new Mock <IAuthenticationProvider>(); var controller = new MeasurementController(mockedAuthenticationProvider.Object, mockedMeasurementService.Object, mockedFactory.Object); // Act controller.DeleteMeasurement(id); // Assert mockedAuthenticationProvider.Verify(p => p.CurrentUserId, Times.Once); }
public void TestGetMeasurement_ShouldCallSeasurementServiceGetById(int id) { // Arrange var mockedFactory = new Mock <IViewModelFactory>(); var mockedDateTimeProvider = new Mock <IDateTimeProvider>(); var mockedMeasurementService = new Mock <IMeasurementService>(); var mockedAuthenticationProvider = new Mock <IAuthenticationProvider>(); var controller = new MeasurementController(mockedAuthenticationProvider.Object, mockedMeasurementService.Object, mockedFactory.Object); // Act controller.GetMeasurement(id); // Assert mockedMeasurementService.Verify(s => s.GetById(id), Times.Once); }