Exemplo n.º 1
0
        public void NewIndexesAreAutomaticallyGenerated()
        {
            using (var tr = _db.StartTransaction())
            {
                var creator  = tr.InitRelation <IJobTable1>("Job");
                var jobTable = creator(tr);
                var job      = new JobV1 {
                    Id = 11, Name = "Code"
                };
                jobTable.Insert(job);
                tr.Commit();
            }
            ReopenDb();
            using (var tr = _db.StartTransaction())
            {
                var creator  = tr.InitRelation <IJobTable2>("Job");
                var jobTable = creator(tr);
                var job      = new JobV2 {
                    Id = 21, Name = "Build", Cost = 42
                };
                jobTable.Insert(job);
                var j = jobTable.FindByNameOrDefault("Code");
                Assert.Equal("Code", j.Name);
                j = jobTable.FindByCostOrDefault(21, 42);
                Assert.Equal("Build", j.Name);

                var en = jobTable.ListByCost(new AdvancedEnumeratorParam <uint>(EnumerationOrder.Ascending));
                Assert.True(en.MoveNext());
                Assert.Equal(0u, en.Current.Cost);
                Assert.True(en.MoveNext());
                Assert.Equal(42u, en.Current.Cost);
                tr.Commit();
            }
        }
Exemplo n.º 2
0
 public void AddedFieldIsInsertedFromDefaultObject()
 {
     using (var tr = _db.StartTransaction())
     {
         var creator  = tr.InitRelation <IJobTable2>("Job");
         var jobTable = creator(tr);
         var job      = new JobV2 {
             Id = 11, Name = "Code"
         };
         jobTable.Insert(job);
         tr.Commit();
     }
     ReopenDb();
     using (var tr = _db.StartTransaction())
     {
         var creator  = tr.InitRelation <IJobTable3>("Job");
         var jobTable = creator(tr);
         jobTable.RemoveById(11);
         Assert.Equal(0, jobTable.Count);
     }
 }
Exemplo n.º 3
0
 public void ModifiedIndexesAreRecalculated()
 {
     using (var tr = _db.StartTransaction())
     {
         var creator  = tr.InitRelation <IJobTable2>("Job");
         var jobTable = creator(tr);
         var job      = new JobV2 {
             Id = 11, Name = "Code", Cost = 1000
         };
         jobTable.Insert(job);
         tr.Commit();
     }
     ReopenDb();
     using (var tr = _db.StartTransaction())
     {
         var creator  = tr.InitRelation <IJobTable21>("Job");
         var jobTable = creator(tr);
         var j        = jobTable.FindByNameOrDefault(1000, "Code");
         Assert.NotNull(j);
         Assert.Equal("Code", j.Name);
         tr.Commit();
     }
 }
Exemplo n.º 4
0
        public void NewIndexesAreAutomaticallyGenerated()
        {
            using (var tr = _db.StartTransaction())
            {
                var creator = tr.InitRelation<IJobTable1>("Job");
                var jobTable = creator(tr);
                var job = new JobV1 { Id = 11, Name = "Code" };
                jobTable.Insert(job);
                tr.Commit();
            }
            ReopenDb();
            using (var tr = _db.StartTransaction())
            {
                var creator = tr.InitRelation<IJobTable2>("Job");
                var jobTable = creator(tr);
                var job = new JobV2 { Id = 21, Name = "Build", Cost = 42 };
                jobTable.Insert(job);
                var j = jobTable.FindByNameOrDefault("Code");
                Assert.Equal("Code", j.Name);
                j = jobTable.FindByCostOrDefault(21, 42);
                Assert.Equal("Build", j.Name);

                var en = jobTable.ListByCost(new AdvancedEnumeratorParam<uint>(EnumerationOrder.Ascending));
                Assert.True(en.MoveNext());
                Assert.Equal(0u, en.Current.Cost);
                Assert.True(en.MoveNext());
                Assert.Equal(42u, en.Current.Cost);
                tr.Commit();
            }
        }