public void TestCreateIndex() { Db.GetIndexes().Should().BeEmpty(); var fName = Expression.Property("firstName"); var lName = Expression.Property("lastName"); var fNameItem = ValueIndexItem.Property("firstName"); var lNameItem = ValueIndexItem.Expression(lName); var index1 = IndexBuilder.ValueIndex(fNameItem, lNameItem); Db.CreateIndex("index1", index1); var detailItem = FullTextIndexItem.Property("detail"); var index2 = IndexBuilder.FullTextIndex(detailItem); Db.CreateIndex("index2", index2); var detailItem2 = FullTextIndexItem.Property("es-detail"); var index3 = IndexBuilder.FullTextIndex(detailItem2).IgnoreAccents(true).SetLanguage("es"); Db.CreateIndex("index3", index3); Db.GetIndexes().ShouldBeEquivalentTo(new[] { "index1", "index2", "index3" }); }
public void TestCreateSameIndexTwice() { var item = ValueIndexItem.Expression(Expression.Property("firstName")); var index = IndexBuilder.ValueIndex(item); Db.CreateIndex("myindex", index); Db.CreateIndex("myindex", index); Db.GetIndexes().ShouldBeEquivalentTo(new[] { "myindex" }); }
public void TestDeleteIndex() { TestCreateIndex(); Db.DeleteIndex("index1"); Db.GetIndexes().ShouldBeEquivalentTo(new[] { "index2", "index3" }); Db.DeleteIndex("index2"); Db.GetIndexes().ShouldBeEquivalentTo(new[] { "index3" }); Db.DeleteIndex("index3"); Db.GetIndexes().Should().BeEmpty(); Db.DeleteIndex("dummy"); Db.DeleteIndex("index1"); Db.DeleteIndex("index2"); Db.DeleteIndex("index3"); }
public void TestCreateSameNameIndexes() { var fName = Expression.Property("firstName"); var lName = Expression.Property("lastName"); var fNameItem = ValueIndexItem.Expression(fName); var fNameIndex = IndexBuilder.ValueIndex(fNameItem); Db.CreateIndex("myindex", fNameIndex); var lNameItem = ValueIndexItem.Expression(lName); var lNameIndex = IndexBuilder.ValueIndex(lNameItem); Db.CreateIndex("myindex", lNameIndex); Db.GetIndexes().ShouldBeEquivalentTo(new[] { "myindex" }, "because lNameIndex should overwrite fNameIndex"); var detailItem = FullTextIndexItem.Property("detail"); var detailIndex = IndexBuilder.FullTextIndex(detailItem); Db.CreateIndex("myindex", detailIndex); Db.GetIndexes().ShouldBeEquivalentTo(new[] { "myindex" }, "because detailIndex should overwrite lNameIndex"); }