public async Task Change_Description_When_Invoked() { contextOptions = new DbContextOptionsBuilder <SmartDormitoryDbContext>() .UseInMemoryDatabase(databaseName: Guid.NewGuid().ToString()) .Options; var sensorId = 1; string description = "testchangeddescription"; using (var assertContext = new SmartDormitoryDbContext(contextOptions)) { var userSensor = new UserSensors { Id = 1, Description = "testinitialdescription" }; assertContext.UserSensors.Add(userSensor); assertContext.SaveChanges(); var userSensorService = new UserSensorService(assertContext); await userSensorService.ChangeDescriptionAsync(sensorId, description); Assert.AreEqual(description, userSensor.Description); } }
public async Task Change_Longitude_When_Invoked() { contextOptions = new DbContextOptionsBuilder <SmartDormitoryDbContext>() .UseInMemoryDatabase(databaseName: Guid.NewGuid().ToString()) .Options; var longitude = 3; var latitude = 2; using (var assertContext = new SmartDormitoryDbContext(contextOptions)) { var userSensor = new UserSensors { Id = 1, Longitude = 2, Latitude = 2 }; assertContext.UserSensors.Add(userSensor); assertContext.SaveChanges(); var userSensorService = new UserSensorService(assertContext); await userSensorService.ChangeCoordinatesAsync(1, longitude, latitude); Assert.AreEqual(longitude, userSensor.Longitude); } }
public async Task Change_UpdateInterval_When_Invoked() { contextOptions = new DbContextOptionsBuilder <SmartDormitoryDbContext>() .UseInMemoryDatabase(databaseName: Guid.NewGuid().ToString()) .Options; var sensorId = 1; int updateInterval = 2; using (var assertContext = new SmartDormitoryDbContext(contextOptions)) { var userSensor = new UserSensors { Id = 1, UpdateInterval = 33 }; assertContext.UserSensors.Add(userSensor); assertContext.SaveChanges(); var userSensorService = new UserSensorService(assertContext); await userSensorService.ChangeUpdatenIntervalAsync(sensorId, updateInterval); Assert.AreEqual(updateInterval, userSensor.UpdateInterval); } }
public async Task Change_IsPublic_When_Invoked() { contextOptions = new DbContextOptionsBuilder <SmartDormitoryDbContext>() .UseInMemoryDatabase(databaseName: Guid.NewGuid().ToString()) .Options; var sensorId = 1; bool isPublic = false; using (var assertContext = new SmartDormitoryDbContext(contextOptions)) { var userSensor = new UserSensors { Id = 1, IsPublic = true }; assertContext.UserSensors.Add(userSensor); assertContext.SaveChanges(); var userSensorService = new UserSensorService(assertContext); await userSensorService.ChangeIsPublicAsync(sensorId, isPublic); Assert.AreEqual(isPublic, userSensor.IsPublic); } }
public IndexViewModel(UserSensors usersensors) { this.SensorName = usersensors.Name; this.Longitude = usersensors.Longitude; this.Longitude = usersensors.Latitude; this.UserMinValue = usersensors.UserMinValue; this.UserMaxValue = usersensors.UserMaxValue; this.Value = usersensors.Value; }
public UserSensorsViewModel(UserSensors sensors) { this.Id = sensors.Id; this.UserId = sensors.UserId; this.SensorId = sensors.SensorId; this.Longitude = sensors.Longitude; this.Latitude = sensors.Latitude; this.MinValue = sensors.UserMinValue; this.MaxValue = sensors.UserMaxValue; this.UpdateInterval = sensors.UpdateInterval; this.Name = sensors.Name; this.IsPublic = sensors.IsPublic; this.IsRequiredNotification = sensors.IsRequiredNotification; }
public SensorEditViewModel(UserSensors userSensors) { this.Id = userSensors.Id; this.UserId = userSensors.UserId; this.SensorId = userSensors.SensorId; this.MinValue = userSensors.MinValue; this.MaxValue = userSensors.MaxValue; this.Longitude = userSensors.Longitude; this.Latitude = userSensors.Latitude; this.UpdateInterval = userSensors.UpdateInterval; this.Name = userSensors.Name; this.IsPublic = userSensors.IsPublic; this.IsRequiredNotification = userSensors.IsRequiredNotification; }
public SensorTableViewModel(UserSensors userSensors) { this.Id = userSensors.Id; this.User = userSensors.User; this.UserId = userSensors.UserId; this.SensorId = userSensors.SensorId; this.Longitude = userSensors.Longitude; this.Latitude = userSensors.Latitude; this.UpdateInterval = userSensors.UpdateInterval; this.Name = userSensors.Name; this.Description = userSensors.Description; this.IsPublic = userSensors.IsPublic; this.IsRequiredNotification = userSensors.IsRequiredNotification; this.Value = userSensors.Value; }
public RegisterSensorViewModel(UserSensors userSensors, string newUserId, string newSensorId) { this.Id = userSensors.Id; this.UserId = userSensors.UserId; this.SensorId = userSensors.SensorId; this.MinValue = userSensors.MinValue; this.MaxValue = userSensors.MaxValue; this.UpdateInterval = userSensors.UpdateInterval; this.Name = userSensors.Name; this.IsPublic = userSensors.IsPublic; this.IsRequiredNotification = userSensors.IsRequiredNotification; this.Latitude = userSensors.Latitude; this.Longitude = userSensors.Longitude; this.NewSensorId = newSensorId; this.NewUserId = newUserId; this.Description = userSensors.Description; }
public async Task ThrowException_When_MinIsLessThanSensorMin() { contextOptions = new DbContextOptionsBuilder <SmartDormitoryDbContext>() .UseInMemoryDatabase(databaseName: Guid.NewGuid().ToString()) .Options; var ApiID = Guid.NewGuid().ToString(); using (var arrangeContext = new SmartDormitoryDbContext(contextOptions)) { var sensorForDB = new Sensor { Id = 1, ApiId = ApiID, CurrentValue = 10, Description = "Description", Name = "Name", MinValue = 1, MaxValue = 100, MinPollingIntervalInSeconds = 60, SensorTypeId = 1, LastUpdate = DateTime.Now, }; var userSensorForDB = new UserSensors { Id = 1, UserMinValue = 1, UserMaxValue = 100, SensorId = 1 }; arrangeContext.UserSensors.Add(userSensorForDB); arrangeContext.Sensors.Add(sensorForDB); arrangeContext.SaveChanges(); } // Act && Asert using (var assertContext = new SmartDormitoryDbContext(contextOptions)) { var userSensorService = new UserSensorService(assertContext); await Assert.ThrowsExceptionAsync <ArgumentOutOfRangeException>(async() => await userSensorService.ChangeMinMaxAsync(1, 0, 1)); } }
public void ReturnUserSensor_When_PassedId_IsValid() { //Arrange var contextOptions = new DbContextOptionsBuilder <SmartDormitoryDbContext>() .UseInMemoryDatabase(databaseName: Guid.NewGuid().ToString()) .Options; var UserId = Guid.NewGuid().ToString(); using (var arrangeContext = new SmartDormitoryDbContext(contextOptions)) { var userSensor = new UserSensors { Id = 1, UserId = UserId, Value = 10, Description = "Description", Name = "Name", MinValue = 1, MaxValue = 100, UpdateInterval = 60, Type = 1, LastUpdatedOn = DateTime.Now, IsPublic = false, IsRequiredNotification = false, Latitude = 0, Longitude = 0, UserMaxValue = 99, UserMinValue = 2, SensorId = 1 }; arrangeContext.UserSensors.Add(userSensor); arrangeContext.SaveChanges(); } // Act && Asert using (var assertContext = new SmartDormitoryDbContext(contextOptions)) { var userSensorService = new UserSensorService(assertContext); var userSensor = userSensorService.GetUserSensorsById(1); Assert.AreEqual(userSensor.UserId, UserId); } }
public async Task Change_Max_When_Invoked() { contextOptions = new DbContextOptionsBuilder <SmartDormitoryDbContext>() .UseInMemoryDatabase(databaseName: Guid.NewGuid().ToString()) .Options; var min = 2; var max = 2; var ApiID = Guid.NewGuid().ToString(); using (var assertContext = new SmartDormitoryDbContext(contextOptions)) { var sensorForDB = new Sensor { Id = 1, ApiId = ApiID, CurrentValue = 10, Description = "Description", Name = "Name", MinValue = 1, MaxValue = 100, MinPollingIntervalInSeconds = 60, SensorTypeId = 1, LastUpdate = DateTime.Now, }; var userSensorForDB = new UserSensors { Id = 1, UserMinValue = 1, UserMaxValue = 100, SensorId = 1 }; assertContext.Sensors.Add(sensorForDB); assertContext.UserSensors.Add(userSensorForDB); var userSensorService = new UserSensorService(assertContext); await userSensorService.ChangeMinMaxAsync(1, min, max); Assert.AreEqual(max, userSensorForDB.UserMaxValue); } }
public UserSensorModel(UserSensors userSensor) { this.Id = userSensor.Id; this.IcbSensorId = userSensor.Sensor.IcbSensorId; this.Tag = userSensor.Sensor.Tag; this.Name = userSensor.Name; this.Description = userSensor.Description; this.PollingInterval = userSensor.PollingInterval; this.TimeStamp = userSensor.Sensor.TimeStamp; this.Value = userSensor.Sensor.Value; this.MinValue = userSensor.MinValue; this.MaxValue = userSensor.MaxValue; this.ModifiedOn = userSensor.Sensor.ModifiedOn; this.IsPublic = userSensor.IsPublic; this.Alarm = userSensor.Alarm; this.Latitude = userSensor.Latitude; this.Longtitude = userSensor.Longitude; this.ImageUrl = userSensor.ImageUrl; this.IsDeleted = userSensor.IsDeleted; this.MeasureType = userSensor.Sensor.MeasureType.Type; }
public SensorViewModel(UserSensors userSensors) { this.Id = userSensors.Id; this.IcbSensorId = userSensors.Sensor.IcbSensorId; this.Name = userSensors.Name; this.UserName = userSensors.User.UserName; this.Description = userSensors.Description; this.Tag = userSensors.Sensor.Tag; this.Value = userSensors.Sensor.Value; this.PollingInterval = userSensors.PollingInterval; this.ModifiedOn = userSensors.Sensor.ModifiedOn; this.Alarm = userSensors.Alarm; this.Latitude = userSensors.Latitude; this.Longtitude = userSensors.Longitude; this.URL = userSensors.Sensor.Url; this.IsPublic = userSensors.IsPublic; this.MinValue = userSensors.MinValue; this.MaxValue = userSensors.MaxValue; this.ImageURL = userSensors.ImageUrl; this.MeasureType = userSensors.Sensor.MeasureType.Type; }
public SensorDetailsViewModel(UserSensors userSensors, SensorValidationsViewModel sensorValidations) { this.Id = userSensors.Id; this.UserId = userSensors.UserId; this.SensorId = userSensors.SensorId; this.MinValue = userSensors.UserMinValue; this.MaxValue = userSensors.UserMaxValue; this.UserMaxValue = userSensors.UserMaxValue.ToString(); this.UpdateInterval = userSensors.UpdateInterval; this.Name = userSensors.Name; this.IsPublic = userSensors.IsPublic; this.IsRequiredNotification = userSensors.IsRequiredNotification; this.Latitude = userSensors.Latitude; this.Longitude = userSensors.Longitude; this.SensorValidations = sensorValidations; this.TypeId = userSensors.Type; this.Description = userSensors.Description; if (userSensors.Type == 4) { this.UserMinValue = userSensors.UserMinValue.ToString(); } }
public async Task AddSensorAsync(string userId, int sensorId, string name, string description, double minValue, double maxValue, int pollingInterval, double latitude, double longitude, bool isPublic, bool alarm, string imageUrl) { Validator.IfNull <ArgumentNullException>(userId, "Sensor Id cannot be less or equal 0!"); Validator.IfNull <ArgumentNullException>(name, "Name cannot be null!"); Validator.IfNull <ArgumentNullException>(description, "Description cannot be null!"); Validator.IfIsNotPositive(sensorId, "Sensor Id cannot be less than 0!"); Validator.IfIsNotInRangeInclusive(name.Length, 3, 20, "Name must be between 3 and 20 symbols!"); Validator.IfIsNotInRangeInclusive(description.Length, 3, 250, "Description must be between 3 and 250 symbols!"); Validator.IfNull <ArgumentNullException>(imageUrl, "Image URL cannot be null or empty!"); Validator.IfIsNotInRangeInclusive(pollingInterval, 10, 40, "Polling interval must be between 10 and 40 seconds!"); var sensor = await this.context.Sensors.FirstOrDefaultAsync(s => s.Id == sensorId); Validator.IfNull <ArgumentNullException>(sensor, $"Sensor with Id {sensorId} does not exist!"); Validator.IfIsNotInRangeInclusive(minValue, sensor.MinValue, sensor.MaxValue, $"Minimal value must be between {sensor.MinValue} and {sensor.MaxValue}!"); Validator.IfIsNotInRangeInclusive(maxValue, sensor.MinValue, sensor.MaxValue, $"Maximal value must be between {sensor.MinValue} and {sensor.MaxValue}!"); var newUserSensor = new UserSensors { SensorId = sensorId, UserId = userId, Name = name, Description = description, MinValue = minValue, MaxValue = maxValue, PollingInterval = pollingInterval, Latitude = latitude, Longitude = longitude, IsPublic = isPublic, Alarm = alarm, ImageUrl = imageUrl, IsDeleted = false }; this.context.UserSensors.Add(newUserSensor); this.context.SaveChanges(); }
public UserSensors RegisterSensor(double lng, double lat, double minValue, double maxValue, int updateInterval, string name, string description, bool isPublic, bool notification, string defaultPosition, string userId, string sensorId) { if (minValue > maxValue) { throw new ArgumentOutOfRangeException(); } if (sensorId == null) { throw new ArgumentNullException(); } var sensor = this.context.Sensors.Find(int.Parse(sensorId)); if (minValue < sensor.MinValue) { throw new ArgumentOutOfRangeException(); } if (maxValue > sensor.MaxValue) { throw new ArgumentOutOfRangeException(); } if (updateInterval < sensor.MinPollingIntervalInSeconds) { throw new ArgumentOutOfRangeException(); } if (name == null || description == null || userId == null) { throw new ArgumentNullException(); } var userSensor = new UserSensors() { Name = name, Description = description, UpdateInterval = updateInterval, Latitude = lat, Longitude = lng, IsPublic = isPublic, IsRequiredNotification = notification, UserId = userId, SensorId = int.Parse(sensorId), Value = sensor.CurrentValue, LastUpdatedOn = sensor.LastUpdate, Type = sensor.SensorTypeId }; if (defaultPosition == null) { userSensor.UserMinValue = minValue; userSensor.UserMaxValue = maxValue; userSensor.MinValue = sensor.MinValue; userSensor.MaxValue = sensor.MaxValue; } else { userSensor.MinValue = 0; userSensor.MaxValue = 1; userSensor.UserMaxValue = int.Parse(defaultPosition); userSensor.UserMinValue = int.Parse(defaultPosition); } this.context.UserSensors.Add(userSensor); this.context.SaveChanges(); return(userSensor); }
public void ReturnCountOfAllNotDeletedUserSensorsBySearchName(string searchName) { // Arrange contextOptions = new DbContextOptionsBuilder <smartDormitoryDbContext>() .UseInMemoryDatabase(databaseName: "ReturnCountOfAllNotDeletedUserSensorsBySearchName") .Options; using (var assertContext = new smartDormitoryDbContext(contextOptions)) { var userId = Guid.NewGuid().ToString(); var userSensor1 = new UserSensors { UserId = userId, SensorId = 1, Name = "Some name", Description = "Some description", MinValue = 11, MaxValue = 18, PollingInterval = 13, Latitude = 1.15, Longitude = 5.15, IsPublic = true, Alarm = false, IsDeleted = false, ImageUrl = "Some Url", }; var userSensor2 = new UserSensors { UserId = userId, SensorId = 1, Name = "Some name1", Description = "Some description1", MinValue = 12, MaxValue = 19, PollingInterval = 23, Latitude = 2.15, Longitude = 6.15, IsPublic = true, Alarm = false, IsDeleted = true, ImageUrl = "Some Url 1", }; var userSensor3 = new UserSensors { UserId = userId + "123", SensorId = 1, Name = "Some name2", Description = "Some description2", MinValue = 13, MaxValue = 20, PollingInterval = 33, Latitude = 3.15, Longitude = 7.15, IsPublic = false, Alarm = false, IsDeleted = false, ImageUrl = "Some Url 2", }; assertContext.UserSensors.AddRange(userSensor1, userSensor2, userSensor3); assertContext.Users.AddRange(new User { Id = userId, UserName = "******", UserSensors = new List <UserSensors>() { userSensor1, userSensor2 } }, new User { Id = userId + "123", UserName = "******", UserSensors = new List <UserSensors>() { userSensor3 } }); assertContext.SaveChanges(); } using (var assertContext = new smartDormitoryDbContext(contextOptions)) { var userSensorServiceMock = new UserSensorService(assertContext); // Act var totalSensorsCountMock = userSensorServiceMock.TotalByName(searchName); // Assert Assert.IsTrue(totalSensorsCountMock == 1); } }
public async Task ReturnAllPublicUserSensors() { // Arrange contextOptions = new DbContextOptionsBuilder <smartDormitoryDbContext>() .UseInMemoryDatabase(databaseName: "ReturnAllPublicUserSensors") .Options; using (var assertContext = new smartDormitoryDbContext(contextOptions)) { await assertContext.Sensors.AddAsync( new Sensor { Id = 1, PollingInterval = 10, Description = "Some description", Tag = "Some tag", MinValue = 10.00, MaxValue = 20.00, TimeStamp = DateTime.Now, Value = 15.00, Url = "Some URL", ModifiedOn = DateTime.Now, }); var userId = Guid.NewGuid().ToString(); var userSensor1 = new UserSensors { UserId = userId, SensorId = 1, Name = "Some name", Description = "Some description", MinValue = 11, MaxValue = 18, PollingInterval = 13, Latitude = 1.15, Longitude = 5.15, IsPublic = true, Alarm = false, IsDeleted = false, ImageUrl = "Some Url", }; var userSensor2 = new UserSensors { UserId = userId, SensorId = 1, Name = "Some name1", Description = "Some description1", MinValue = 12, MaxValue = 19, PollingInterval = 23, Latitude = 2.15, Longitude = 6.15, IsPublic = true, Alarm = false, IsDeleted = true, ImageUrl = "Some Url 1", }; var userSensor3 = new UserSensors { UserId = userId, SensorId = 1, Name = "Some name2", Description = "Some description2", MinValue = 13, MaxValue = 20, PollingInterval = 33, Latitude = 3.15, Longitude = 7.15, IsPublic = false, Alarm = false, IsDeleted = false, ImageUrl = "Some Url 2", }; await assertContext.UserSensors.AddRangeAsync(userSensor1, userSensor2, userSensor3); await assertContext.Users.AddAsync(new User { Id = userId, UserName = "******", UserSensors = new List <UserSensors>() { userSensor1, userSensor2, userSensor3 } }); await assertContext.SaveChangesAsync(); } using (var assertContext = new smartDormitoryDbContext(contextOptions)) { var userSensorServiceMock = new UserSensorService(assertContext); // Act var allSensors = await userSensorServiceMock.GetAllPublicUsersSensorsAsync(); var sensors = allSensors.ToList(); // Assert Assert.IsTrue(sensors.Count == 1); } }
public SensorMapViewModel(UserSensors sensors) { this.Id = sensors.Id; this.Longitude = sensors.Longitude; this.Latitude = sensors.Latitude; }