Example #1
0
        public void AffordanceTaggingSetTest()
        {
            using (var db = new DatabaseSetup(Utili.GetCurrentMethodAndClass()))
            {
                db.ClearTable(AffordanceTaggingSet.TableName);
                db.ClearTable(AffordanceTaggingEntry.TableName);
                db.ClearTable(AffordanceTag.TableName);
                db.ClearTable(AffordanceTagReference.TableName);
                db.ClearTable(AffordanceTaggingSetLoadType.TableName);
                var profiles    = db.LoadTimeBasedProfiles();
                var realDevices = db.LoadRealDevices(out var deviceCategories, out var loadTypes,
                                                     profiles);
                var timeBasedProfiles = db.LoadTimeBasedProfiles();
                var desires           = db.LoadDesires();
                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 ats = new ObservableCollection <AffordanceTaggingSet>();
                AffordanceTaggingSet.LoadFromDatabase(ats, db.ConnectionString, false, affordances, loadTypes);
                var ats1 = new AffordanceTaggingSet("test", "desc", db.ConnectionString, true, System.Guid.NewGuid().ToStrGuid());
                ats1.SaveToDB();
                var tag = ats1.AddNewTag("newtag");
                if (tag == null)
                {
                    throw new LPGException("Tag was null");
                }
                ats1.SaveToDB();
                ats1.AddTaggingEntry(tag, affordances[0]);
                ats1.AddTagReference(tag, PermittedGender.Male, 1, 99, 0.15);
                ats1.SaveToDB();
                ats.Clear();
                AffordanceTaggingSet.LoadFromDatabase(ats, db.ConnectionString, false, affordances, loadTypes);
                ats1 = ats[0];
                ats1.DeleteTag(ats1.Tags[0]);
                ats1.DeleteFromDB();
                ats.Clear();
                AffordanceTaggingSet.LoadFromDatabase(ats, db.ConnectionString, false, affordances, loadTypes);
                ats.Count.Should().Be(0);
                db.Cleanup();
            }
        }