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