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