public void TestAttributeConfiguration() { // ReSharper disable once ObjectCreationAsStatement Assert.Throws<InvalidOperationException>(() => new QueryEntity(typeof (RecursiveQuery))); var qe = new QueryEntity {ValueType = typeof(AttributeTest) }; Assert.AreEqual(typeof(AttributeTest), qe.ValueType); var fields = qe.Fields.ToArray(); CollectionAssert.AreEquivalent(new[] { "SqlField", "IndexedField1", "FullTextField", "Inner", "Inner.Foo", "GroupIndex1", "GroupIndex2", "GroupIndex3" }, fields.Select(x => x.Name)); var idx = qe.Indexes.ToArray(); Assert.AreEqual(QueryIndexType.Sorted, idx[0].IndexType); Assert.AreEqual(QueryIndexType.Sorted, idx[1].IndexType); Assert.AreEqual(QueryIndexType.Sorted, idx[2].IndexType); Assert.AreEqual(QueryIndexType.FullText, idx[3].IndexType); CollectionAssert.AreEquivalent(new[] {"GroupIndex1", "GroupIndex2"}, idx[0].Fields.Select(f => f.Name)); CollectionAssert.AreEquivalent(new[] {"GroupIndex1", "GroupIndex3"}, idx[1].Fields.Select(f => f.Name)); CollectionAssert.AreEquivalent(new[] {"IndexedField1"}, idx[2].Fields.Select(f => f.Name)); CollectionAssert.AreEquivalent(new[] {"FullTextField"}, idx[3].Fields.Select(f => f.Name)); }
/// <summary> /// Gets the query entity key. /// </summary> private static string GetQueryEntityKey(QueryEntity x) { return(x.KeyTypeName + "^" + x.ValueTypeName); }