public void HouseDeviceOrphanCreatingTest() { using (var db = new DatabaseSetup(Utili.GetCurrentMethodAndClass())) { db.ClearTable(HouseType.TableName); db.ClearTable(HouseTypeDevice.TableName); var loadTypes = db.LoadLoadTypes(); var devices = new ObservableCollection <RealDevice>(); var deviceCategories = new ObservableCollection <DeviceCategory>(); var timeBasedProfiles = new ObservableCollection <TimeBasedProfile>(); var timeLimits = new ObservableCollection <TimeLimit>(); var variables = db.LoadVariables(); var deviceActionGroups = db.LoadDeviceActionGroups(); var deviceActions = db.LoadDeviceActions(timeBasedProfiles, devices, loadTypes, deviceActionGroups); var energyStorages = db.LoadEnergyStorages(loadTypes, variables); var trafoDevices = db.LoadTransformationDevices(loadTypes, variables); var dateprofiles = db.LoadDateBasedProfiles(); var generators = db.LoadGenerators(loadTypes, dateprofiles); var houseTypes = new ObservableCollection <HouseType>(); var locations = db.LoadLocations(devices, deviceCategories, loadTypes); HouseType.LoadFromDatabase(houseTypes, db.ConnectionString, devices, deviceCategories, timeBasedProfiles, timeLimits, loadTypes, trafoDevices, energyStorages, generators, false, locations, deviceActions, deviceActionGroups, variables); (houseTypes.Count).Should().Be(0); var housetype = new HouseType("haus1", "blub", 1000, 5, 10, loadTypes[0], db.ConnectionString, 1, 1, loadTypes[1], false, 0, false, 0, 1, 100, Guid.NewGuid().ToStrGuid()); housetype.SaveToDB(); var rd = new RealDevice("test", 1, "bla", null, "name", true, false, db.ConnectionString, Guid.NewGuid().ToStrGuid()); rd.SaveToDB(); devices.Add(rd); var dt = new TimeLimit("blub", db.ConnectionString, Guid.NewGuid().ToStrGuid()); timeLimits.Add(dt); dt.SaveToDB(); var tp = new TimeBasedProfile("blub", null, db.ConnectionString, TimeProfileType.Relative, "fake", Guid.NewGuid().ToStrGuid()); timeBasedProfiles.Add(tp); tp.SaveToDB(); housetype.AddHouseTypeDevice(rd, dt, tp, 1, loadTypes[0], locations[0], 0, VariableCondition.Equal, variables[0]); houseTypes.Clear(); HouseType.LoadFromDatabase(houseTypes, db.ConnectionString, devices, deviceCategories, timeBasedProfiles, timeLimits, loadTypes, trafoDevices, energyStorages, generators, false, locations, deviceActions, deviceActionGroups, variables); (houseTypes.Count).Should().Be(1); var house3 = houseTypes[0]; (house3.HouseDevices.Count).Should().Be(1); db.ClearTable(HouseType.TableName); houseTypes.Clear(); HouseType.LoadFromDatabase(houseTypes, db.ConnectionString, devices, deviceCategories, timeBasedProfiles, timeLimits, loadTypes, trafoDevices, energyStorages, generators, false, locations, deviceActions, deviceActionGroups, variables); (houseTypes.Count).Should().Be(0); db.Cleanup(); } }
public void HouseLoadCreationAndSaveTest() { using (var db = new DatabaseSetup(Utili.GetCurrentMethodAndClass())) { Logger.Threshold = Severity.Warning; db.ClearTable(HouseType.TableName); db.ClearTable(HouseTypeDevice.TableName); var devices = new ObservableCollection <RealDevice>(); var deviceCategories = new ObservableCollection <DeviceCategory>(); var timeBasedProfiles = new ObservableCollection <TimeBasedProfile>(); var timeLimits = new ObservableCollection <TimeLimit>(); var variables = db.LoadVariables(); var loadTypes = db.LoadLoadTypes(); var energyStorages = db.LoadEnergyStorages(loadTypes, variables); var trafoDevices = db.LoadTransformationDevices(loadTypes, variables); var dateprofiles = db.LoadDateBasedProfiles(); var generators = db.LoadGenerators(loadTypes, dateprofiles); var locations = db.LoadLocations(devices, deviceCategories, loadTypes); var deviceActionGroups = db.LoadDeviceActionGroups(); var deviceActions = db.LoadDeviceActions(timeBasedProfiles, devices, loadTypes, deviceActionGroups); var dt = new TimeLimit("blub", db.ConnectionString, Guid.NewGuid().ToStrGuid()); dt.SaveToDB(); timeLimits.Add(dt); var rd = new RealDevice("blub", 1, string.Empty, null, string.Empty, true, false, db.ConnectionString, Guid.NewGuid().ToStrGuid()); rd.SaveToDB(); devices.Add(rd); var tbp = new TimeBasedProfile("blub", null, db.ConnectionString, TimeProfileType.Relative, "fake", Guid.NewGuid().ToStrGuid()); tbp.SaveToDB(); timeBasedProfiles.Add(tbp); var tempP = new TemperatureProfile("blub", null, string.Empty, db.ConnectionString, Guid.NewGuid().ToStrGuid()); tempP.SaveToDB(); var houseTypes = new ObservableCollection <HouseType>(); HouseType.LoadFromDatabase(houseTypes, db.ConnectionString, devices, deviceCategories, timeBasedProfiles, timeLimits, loadTypes, trafoDevices, energyStorages, generators, false, locations, deviceActions, deviceActionGroups, variables); (houseTypes.Count).Should().Be(0); var housetype = new HouseType("haus1", "blub", 1000, 5, 10, loadTypes[0], db.ConnectionString, 1, 1, loadTypes[1], false, 0, false, 0, 1, 100, Guid.NewGuid().ToStrGuid()); housetype.SaveToDB(); housetype.AddHouseTypeDevice(rd, dt, tbp, 1, loadTypes[0], locations[0], 0, VariableCondition.Equal, variables[0]); HouseType.LoadFromDatabase(houseTypes, db.ConnectionString, devices, deviceCategories, timeBasedProfiles, timeLimits, loadTypes, trafoDevices, energyStorages, generators, false, locations, deviceActions, deviceActionGroups, variables); (houseTypes.Count).Should().Be(1); (houseTypes[0].HouseDevices.Count).Should().Be(1); var house2 = houseTypes[0]; (house2.Name).Should().Be("haus1"); (house2.Description).Should().Be("blub"); db.Cleanup(); } }
public void TimeLimitBoolEntryLoadCreationAndSaveTest() { using (var db = new DatabaseSetup(Utili.GetCurrentMethodAndClass())) { db.ClearTable(TimeLimit.TableName); db.ClearTable(TimeLimitEntry.TableName); var timeLimits = new ObservableCollection <TimeLimit>(); var dateBasedProfiles = db.LoadDateBasedProfiles(); TimeLimit.LoadFromDatabase(timeLimits, dateBasedProfiles, db.ConnectionString, false); (timeLimits.Count).Should().Be(0); var dt = new TimeLimit("hey", db.ConnectionString, Guid.NewGuid().ToStrGuid()); dt.SaveToDB(); TimeLimit.LoadFromDatabase(timeLimits, dateBasedProfiles, db.ConnectionString, false); (timeLimits.Count).Should().Be(1); var dtl = timeLimits[0]; (dtl.Name).Should().Be("hey"); dt.DeleteFromDB(); timeLimits.Clear(); TimeLimit.LoadFromDatabase(timeLimits, dateBasedProfiles, db.ConnectionString, false); (timeLimits.Count).Should().Be(0); var dt2 = new TimeLimit("hey2", db.ConnectionString, Guid.NewGuid().ToStrGuid()); dt2.SaveToDB(); var dtbe = dt2.AddTimeLimitEntry(null, dateBasedProfiles); (dt2.RootEntry).Should().Be(dtbe); var dtbe2 = dt2.AddTimeLimitEntry(dtbe, dateBasedProfiles); (dt2.RootEntry?.Subentries.Count).Should().Be(1); dt2.SaveToDB(); (dt2.TimeLimitEntries.Count).Should().Be(2); timeLimits.Clear(); TimeLimit.LoadFromDatabase(timeLimits, dateBasedProfiles, db.ConnectionString, false); (timeLimits[0].TimeLimitEntries.Count).Should().Be(2); (timeLimits[0].RootEntry?.ToString()).Should().Be(dtbe.ToString()); (timeLimits[0].RootEntry?.Subentries.Count).Should().Be(1); (timeLimits[0].RootEntry?.Subentries[0].ToString()).Should().Be(dtbe2.ToString()); db.Cleanup(); } }
public void TimeLimitLoadCreationAndSaveTest() { using (var db = new DatabaseSetup(Utili.GetCurrentMethodAndClass())) { db.ClearTable(TimeLimit.TableName); db.ClearTable(TimeLimitEntry.TableName); var timeLimits = new ObservableCollection <TimeLimit>(); var dateBasedProfiles = db.LoadDateBasedProfiles(); TimeLimit.LoadFromDatabase(timeLimits, dateBasedProfiles, db.ConnectionString, false); (timeLimits.Count).Should().Be(0); var dt = new TimeLimit("hey", db.ConnectionString, Guid.NewGuid().ToStrGuid()); dt.SaveToDB(); TimeLimit.LoadFromDatabase(timeLimits, dateBasedProfiles, db.ConnectionString, false); (timeLimits.Count).Should().Be(1); var dtl = timeLimits[0]; (dtl.Name).Should().Be("hey"); (dtl.TimeLimitEntries.Count).Should().Be(0); dt.DeleteFromDB(); timeLimits.Clear(); TimeLimit.LoadFromDatabase(timeLimits, dateBasedProfiles, db.ConnectionString, false); (timeLimits.Count).Should().Be(0); var dt2 = new TimeLimit("hey2", db.ConnectionString, Guid.NewGuid().ToStrGuid()); dt2.SaveToDB(); var start = new DateTime(2013, 1, 1); var end = new DateTime(2013, 2, 1); dt2.AddTimeLimitEntry(null, start, end, PermissionMode.LightControlled, 1, 1, true, true, true, true, true, true, true, 1, 1, 1, 1, 1, 1, 2, true, true, AnyAllTimeLimitCondition.Any, start, end, -1, 0, 0, false, false, false, false, 5, false, dateBasedProfiles, 0, 0, 0); dt2.SaveToDB(); (dt2.TimeLimitEntries.Count).Should().Be(1); timeLimits.Clear(); TimeLimit.LoadFromDatabase(timeLimits, dateBasedProfiles, db.ConnectionString, false); (timeLimits[0].TimeLimitEntries.Count).Should().Be(1); db.Cleanup(); } }
public void GetOneYearArrayTest() { using (var db = new DatabaseSetup(Utili.GetCurrentMethodAndClass())) { db.ClearTable(TimeLimit.TableName); db.ClearTable(TimeLimitEntry.TableName); var temperaturProfiles = db.LoadTemperatureProfiles(); var timeLimits = new ObservableCollection <TimeLimit>(); var dateBasedProfiles = db.LoadDateBasedProfiles(); TimeLimit.LoadFromDatabase(timeLimits, dateBasedProfiles, db.ConnectionString, false); var geographicLocations = db.LoadGeographicLocations(out _, timeLimits); (timeLimits.Count).Should().Be(0); var dt = new TimeLimit("hey", db.ConnectionString, Guid.NewGuid().ToStrGuid()); dt.SaveToDB(); var dtbe = dt.AddTimeLimitEntry(null, dateBasedProfiles); dtbe.AnyAll = AnyAllTimeLimitCondition.Any; var dtbe2 = dt.AddTimeLimitEntry(dtbe, dateBasedProfiles); dtbe2.RepeaterType = PermissionMode.EveryXDay; dtbe2.DailyDayCount = 1; dtbe2.StartTimeTimeSpan = new TimeSpan(6, 0, 0); dtbe2.EndTimeTimeSpan = new TimeSpan(12, 0, 0); var dtbe3 = dt.AddTimeLimitEntry(dtbe, dateBasedProfiles); dtbe3.DailyDayCount = 1; dtbe3.StartTimeTimeSpan = new TimeSpan(13, 0, 0); dtbe3.EndTimeTimeSpan = new TimeSpan(14, 0, 0); dtbe.Subentries.Add(dtbe2); dtbe.Subentries.Add(dtbe2); var r = new Random(); var vac = new Vacation("vac", null, db.ConnectionString, 1, 99, CreationType.ManuallyCreated, Guid.NewGuid().ToStrGuid()); vac.SaveToDB(); vac.AddVacationTime(new DateTime(2014, 3, 1), new DateTime(2014, 5, 1), VacationType.GoAway); var timeframes = vac.VacationTimeframes(); var br = dtbe.GetOneYearArray(new TimeSpan(1, 0, 0), new DateTime(2014, 1, 1), new DateTime(2014, 2, 1), temperaturProfiles[0], geographicLocations[0], r, timeframes, "test", out _, 0, 0, 0, 0); for (var i = 0; i < 24; i++) { Logger.Info(i + ":" + br[i]); } db.Cleanup(); } }