コード例 #1
0
        public void HouseholdTemplateTest2()
        {
            using (var db = new DatabaseSetup(Utili.GetCurrentMethodAndClass()))
            {
                db.ClearTable(HouseholdTemplate.TableName);
                db.ClearTable(HHTemplateEntry.TableName);
                db.ClearTable(HHTemplateEntryPerson.TableName);
                var cat = new CategoryDBBase <HouseholdTemplate>("Household Generator");

                var timeBasedProfiles = db.LoadTimeBasedProfiles();
                var desires           = db.LoadDesires();
                var persons           = db.LoadPersons();

                var realDevices =
                    db.LoadRealDevices(out var deviceCategories, out _, out var loadTypes, timeBasedProfiles);
                var dateBasedProfiles  = db.LoadDateBasedProfiles();
                var timeLimits         = db.LoadTimeLimits(dateBasedProfiles);
                var deviceActionGroups = db.LoadDeviceActionGroups();
                var deviceActions      =
                    db.LoadDeviceActions(timeBasedProfiles, realDevices, loadTypes, deviceActionGroups);
                var locations   = db.LoadLocations(realDevices, deviceCategories, loadTypes);
                var variables   = db.LoadVariables();
                var affordances = db.LoadAffordances(timeBasedProfiles, out _,
                                                     deviceCategories, realDevices, desires, loadTypes, timeLimits, deviceActions, deviceActionGroups,
                                                     locations, variables);

                var traittags = db.LoadTraitTags();
                var traits    = db.LoadHouseholdTraits(locations, affordances, realDevices,
                                                       deviceCategories, timeBasedProfiles, loadTypes, timeLimits, desires, deviceActions, deviceActionGroups,
                                                       traittags, variables);
                var vacations         = db.LoadVacations();
                var templateTags      = db.LoadHouseholdTags();
                var datebasedProfiles = db.LoadDateBasedProfiles();
                HouseholdTemplate.LoadFromDatabase(cat.It, db.ConnectionString, traits, false, persons, traittags,
                                                   vacations,
                                                   templateTags, datebasedProfiles);
                (cat.MyItems.Count).Should().Be(0);

                var gen   = cat.CreateNewItem(db.ConnectionString);
                var entry = gen.AddEntry(traittags[0], 0, 10);
                entry.AddPerson(persons[0]);
                cat.SaveToDB();
                var generators = new ObservableCollection <HouseholdTemplate>();
                HouseholdTemplate.LoadFromDatabase(generators, db.ConnectionString, traits, false, persons, traittags,
                                                   vacations, templateTags, datebasedProfiles);
                (generators.Count).Should().Be(1);
                (generators[0].Entries.Count).Should().Be(1);
                (generators[0].Entries[0].Persons.Count).Should().Be(1);

                db.Cleanup();
            }
        }
コード例 #2
0
 public void TraitTagTest()
 {
     using (var db = new DatabaseSetup(Utili.GetCurrentMethodAndClass()))
     {
         db.ClearTable(TraitTag.TableName);
         var cat = new CategoryDBBase <TraitTag>("Household Trait Tags");
         TraitTag.LoadFromDatabase(cat.It, db.ConnectionString, false);
         (cat.MyItems.Count).Should().Be(0);
         cat.CreateNewItem(db.ConnectionString);
         cat.SaveToDB();
         var tags = new ObservableCollection <TraitTag>();
         TraitTag.LoadFromDatabase(tags, db.ConnectionString, false);
         (tags.Count).Should().Be(1);
         db.Cleanup();
     }
 }
コード例 #3
0
 public void DesireTest()
 {
     using (var db = new DatabaseSetup(Utili.GetCurrentMethodAndClass()))
     {
         db.ClearTable(Desire.TableName);
         var cat = new CategoryDBBase <Desire>("Desires");
         Desire.LoadFromDatabase(cat.MyItems, db.ConnectionString, false);
         (cat.MyItems.Count).Should().Be(0);
         cat.CreateNewItem(db.ConnectionString);
         cat.SaveToDB();
         var desires = new ObservableCollection <Desire>();
         Desire.LoadFromDatabase(desires, db.ConnectionString, false);
         (desires.Count).Should().Be(1);
         db.Cleanup();
     }
 }
コード例 #4
0
        public void TemplatePersonTest()
        {
            using (var db = new DatabaseSetup(Utili.GetCurrentMethodAndClass()))
            {
                db.ClearTable(TemplatePerson.TableName);
                db.ClearTable(TemplatePersonTrait.TableName);
                var cat = new CategoryDBBase <TemplatePerson>("TemplatePersons");
                var timeBasedProfiles = db.LoadTimeBasedProfiles();
                var devices           = db.LoadRealDevices(out ObservableCollection <DeviceCategory> deviceCategories, out ObservableCollection <VLoadType> loadTypes,
                                                           timeBasedProfiles);
                var locations          = db.LoadLocations(devices, deviceCategories, loadTypes);
                var desires            = db.LoadDesires();
                var dateBasedProfiles  = db.LoadDateBasedProfiles();
                var timeLimits         = db.LoadTimeLimits(dateBasedProfiles);
                var deviceActionGroups = db.LoadDeviceActionGroups();
                var deviceActions      = db.LoadDeviceActions(timeBasedProfiles, devices,
                                                              loadTypes, deviceActionGroups);
                var variables   = db.LoadVariables();
                var affordances = db.LoadAffordances(timeBasedProfiles, out _,
                                                     deviceCategories, devices, desires, loadTypes, timeLimits, deviceActions, deviceActionGroups, locations,
                                                     variables);
                var traitTags = db.LoadTraitTags();
                var traits    = db.LoadHouseholdTraits(locations, affordances, devices,
                                                       deviceCategories, timeBasedProfiles, loadTypes, timeLimits, desires, deviceActions, deviceActionGroups,
                                                       traitTags, variables);
                var selections = db.LoadDeviceSelections(deviceCategories, devices,
                                                         deviceActions, deviceActionGroups);
                var persons   = db.LoadPersons();
                var vacations = db.LoadVacations();
                var tags      = db.LoadHouseholdTags();
                var chhs      = db.LoadModularHouseholds(traits, selections, persons, vacations, tags, traitTags);

                TemplatePerson.LoadFromDatabase(cat.It, db.ConnectionString, traits, false, chhs, persons);
                (cat.MyItems.Count).Should().Be(0);
                cat.CreateNewItem(db.ConnectionString);
                cat.SaveToDB();
                var templatePerson = new ObservableCollection <TemplatePerson>();
                TemplatePerson.LoadFromDatabase(templatePerson, db.ConnectionString, traits, false, chhs, persons);
                (templatePerson.Count).Should().Be(1);
                db.Cleanup();
            }
        }
コード例 #5
0
 public void LocationTest()
 {
     using (var db = new DatabaseSetup(Utili.GetCurrentMethodAndClass()))
     {
         db.ClearTable(Location.TableName);
         var cat      = new CategoryDBBase <Location>("Locations");
         var profiles = db.LoadTimeBasedProfiles();
         var devices  = db.LoadRealDevices(out var deviceCategories, out var loadTypes, profiles);
         Location.LoadFromDatabase(cat.MyItems, db.ConnectionString, devices, deviceCategories, loadTypes, false);
         (cat.MyItems.Count).Should().Be(0);
         var loc = cat.CreateNewItem(db.ConnectionString);
         cat.SaveToDB();
         loc.AddDevice(devices[0]);
         loc.SaveToDB();
         var locations = new ObservableCollection <Location>();
         Location.LoadFromDatabase(locations, db.ConnectionString, devices, deviceCategories, loadTypes, false);
         (locations.Count).Should().Be(1);
         (locations[0].LocationDevices.Count).Should().Be(1);
         db.Cleanup();
     }
 }