protected override void Run(Simulator sim) { CheckForUnusedDevices(sim.RealDevices.It, sim.Affordances.It, sim.DeviceActions.It, sim.Locations.It, sim.HouseholdTraits.It, sim.HouseTypes.It); foreach (var device in sim.RealDevices.It) { BasicChecks(device); if (PerformCleanupChecks) { ElectricityChecks(device); CheckDeviceActionLoads(sim.DeviceActions.It, device); } } if (PerformCleanupChecks) { List <RealDevice> devicesWithMissingLt = new List <RealDevice>(); foreach (var device in sim.RealDevices.It) { RealDeviceLoadType electricityLoad = null; RealDeviceLoadType innerLoad = null; foreach (var load in device.Loads) { if (load.LoadType?.Name == "Electricity") { electricityLoad = load; } if (load.LoadType?.Name?.Contains("Inner") == true) { innerLoad = load; } } if (electricityLoad != null && innerLoad == null) { devicesWithMissingLt.Add(device); } if (devicesWithMissingLt.Count > 10) { break; } } if (devicesWithMissingLt.Count > 0) { throw new DataIntegrityException("Found devices with electricity that don't have inner heat gains set.", devicesWithMissingLt.Select(x => (BasicElement)x).ToList()); } } }
public void LoadFromDatabaseTest() { using (var db = new DatabaseSetup(Utili.GetCurrentMethodAndClass())) { var loadTypes = db.LoadLoadTypes(); var rdlt = new ObservableCollection <RealDeviceLoadType>(); RealDeviceLoadType.LoadFromDatabase(rdlt, db.ConnectionString, loadTypes, false); rdlt.Clear(); db.ClearTable(RealDeviceLoadType.TableName); var newrdlt = new RealDeviceLoadType("bla", 1, loadTypes[0].ID, 1, loadTypes[0], 0.1, 10, db.ConnectionString, Guid.NewGuid().ToStrGuid()); newrdlt.SaveToDB(); RealDeviceLoadType.LoadFromDatabase(rdlt, db.ConnectionString, loadTypes, false); (rdlt.Count).Should().Be(1); db.Cleanup(); } }