public async Task CanUseAliasMapForTopLevelAliasAsync() {
     var parser = new LuceneQueryParser();
     var result = await parser.ParseAsync("field1:value");
     var aliasMap = new FieldMap { { "field1", "field2" } };
     var aliased = await FieldResolverQueryVisitor.RunAsync(result, aliasMap);
     Assert.Equal("field2:value", aliased.ToString());
 }
        public async Task CanUseResolverAsync()
        {
            var parser = new LuceneQueryParser();
            var result = await parser.ParseAsync("field1.nested:value");

            var aliased = await FieldResolverQueryVisitor.RunAsync(result, f => f == "field1.nested"? "field2.nested" : null);

            Assert.Equal("field2.nested:value", aliased.ToString());
        }
 public async Task AliasMapShouldBeAppliedToAllLevels8Async() {
     var parser = new LuceneQueryParser();
     var result = await parser.ParseAsync("field1.nested.childproperty:value");
     var aliasMap = new FieldMap {
         { "field1.nested.childproperty", "field2.other.childproperty" }
     };
     var aliased = await FieldResolverQueryVisitor.RunAsync(result, aliasMap);
     Assert.Equal("field2.other.childproperty:value", aliased.ToString());
 }
 public async Task CanApplyRootLevelAliasMapOnNestedTermAsync() {
     var parser = new LuceneQueryParser();
     var result = await parser.ParseAsync("field1.nested.morenested:value");
     var aliasMap = new FieldMap {
         { "field1.nested.morenested", "field2.nested.morenested" }
     };
     var aliased = await FieldResolverQueryVisitor.RunAsync(result, aliasMap);
     Assert.Equal("field2.nested.morenested:value", aliased.ToString());
 }
 public async Task AliasMapShouldAllowDeepAliasesAsync() {
     var parser = new LuceneQueryParser();
     var result = await parser.ParseAsync("level1.level2.level3.level4:value");
     var aliasMap = new FieldMap {
         { "level1.level2.level3.level4", "alias1.alias2.level3.level4" }
     };
     var aliased = await FieldResolverQueryVisitor.RunAsync(result, aliasMap);
     Assert.Equal("alias1.alias2.level3.level4:value", aliased.ToString());
 }
 public async Task AliasMapShouldBeAppliedToAllLevels2Async() {
     var parser = new LuceneQueryParser();
     var result = await parser.ParseAsync("(field1.nested:value field1.another:blah)");
     var aliasMap = new FieldMap {
         { "field1.nested", "field2.other" }
     };
     var aliased = await FieldResolverQueryVisitor.RunAsync(result, aliasMap);
     Assert.Equal("(field2.other:value field1.another:blah)", aliased.ToString());
 }
 public async Task AliasMapShouldWorkOnGroupsAsync() {
     var parser = new LuceneQueryParser();
     var result = await parser.ParseAsync("(field1.nested:value OR field1.thing:yep) another:works");
     var aliasMap = new FieldMap {
         { "field1.nested", "field2.other" },
         { "field1.thing", "field2.nice" }
     };
     var aliased = await FieldResolverQueryVisitor.RunAsync(result, aliasMap);
     Assert.Equal("(field2.other:value OR field2.nice:yep) another:works", aliased.ToString());
 }