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(); } }