Beispiel #1
0
 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();
     }
 }
Beispiel #2
0
 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();
     }
 }