Skip to content

Commit 004f910

Browse files
committed
removed hardcoded values in tests for #1121 and small indendation touchups
1 parent 2f1ce86 commit 004f910

File tree

3 files changed

+87
-83
lines changed

3 files changed

+87
-83
lines changed

src/Nest/DSL/Aggregations/FiltersAggregationDescriptor.cs

+7-7
Original file line numberDiff line numberDiff line change
@@ -10,23 +10,23 @@ namespace Nest
1010
[JsonConverter(typeof(FiltersAggregatorConverter))]
1111
public interface IFiltersAggregator : IBucketAggregator
1212
{
13-
[JsonProperty("filters")]
14-
IEnumerable<IFilterContainer> Filters { get; set; }
13+
[JsonProperty("filters")]
14+
IEnumerable<IFilterContainer> Filters { get; set; }
1515
}
1616

1717
public class FiltersAggregator : BucketAggregator, IFiltersAggregator
1818
{
19-
public IEnumerable<IFilterContainer> Filters { get; set; }
19+
public IEnumerable<IFilterContainer> Filters { get; set; }
2020
}
2121

22-
public class FiltersAggregationDescriptor<T> : BucketAggregationBaseDescriptor<FiltersAggregationDescriptor<T>, T> , IFiltersAggregator
22+
public class FiltersAggregationDescriptor<T> : BucketAggregationBaseDescriptor<FiltersAggregationDescriptor<T>, T>, IFiltersAggregator
2323
where T : class
2424
{
25-
IEnumerable<IFilterContainer> IFiltersAggregator.Filters { get; set; }
25+
IEnumerable<IFilterContainer> IFiltersAggregator.Filters { get; set; }
2626

27-
public FiltersAggregationDescriptor<T> Filters(params Func<FilterDescriptor<T>, FilterContainer>[] filterDescriptors)
27+
public FiltersAggregationDescriptor<T> Filters(params Func<FilterDescriptor<T>, FilterContainer>[] filterDescriptors)
2828
{
29-
((IFiltersAggregator)this).Filters = filterDescriptors.Select(f => f.Invoke(new FilterDescriptor<T>())).ToList();
29+
((IFiltersAggregator)this).Filters = filterDescriptors.Select(f => f.Invoke(new FilterDescriptor<T>())).ToList();
3030
return this;
3131
}
3232
}

src/Nest/Resolvers/Converters/Aggregations/FiltersAggregatorConverter.cs

+21-22
Original file line numberDiff line numberDiff line change
@@ -15,38 +15,38 @@ public override bool CanConvert(Type objectType)
1515
}
1616
public override void WriteJson(JsonWriter writer, object value, JsonSerializer serializer)
1717
{
18-
var f = value as IFiltersAggregator;
19-
if (f == null || f.Filters == null) return;
18+
var f = value as IFiltersAggregator;
19+
if (f == null || f.Filters == null) return;
2020

21-
writer.WriteStartObject();
22-
writer.WritePropertyName("filters");
21+
writer.WriteStartObject();
22+
writer.WritePropertyName("filters");
2323

24-
if (!f.Filters.Any(filter => String.IsNullOrEmpty(filter.FilterName)))
25-
{
26-
writer.WriteStartObject();
27-
foreach (var filter in f.Filters)
28-
{
29-
writer.WritePropertyName(filter.FilterName);
30-
serializer.Serialize(writer, filter);
31-
}
32-
writer.WriteEndObject();
33-
}
34-
else
35-
{
36-
serializer.Serialize(writer, f.Filters);
37-
}
24+
if (!f.Filters.Any(filter => String.IsNullOrEmpty(filter.FilterName)))
25+
{
26+
writer.WriteStartObject();
27+
foreach (var filter in f.Filters)
28+
{
29+
writer.WritePropertyName(filter.FilterName);
30+
serializer.Serialize(writer, filter);
31+
}
32+
writer.WriteEndObject();
33+
}
34+
else
35+
{
36+
serializer.Serialize(writer, f.Filters);
37+
}
3838

39-
writer.WriteEndObject();
39+
writer.WriteEndObject();
4040
}
4141

4242
public override object ReadJson(JsonReader reader, Type objectType, object existingValue, JsonSerializer serializer)
4343
{
44-
//todo implement
44+
//todo implement
4545
if (reader.TokenType != JsonToken.StartObject) return null;
4646
reader.Read();
4747
if (reader.TokenType != JsonToken.PropertyName) return null;
4848
var prop = reader.Value;
49-
if ((string) reader.Value != "filter") return null;
49+
if ((string)reader.Value != "filter") return null;
5050
reader.Read();
5151
var agg = new FilterAggregator();
5252
serializer.Populate(reader, agg);
@@ -55,4 +55,3 @@ public override object ReadJson(JsonReader reader, Type objectType, object exist
5555
}
5656

5757
}
58-
Original file line numberDiff line numberDiff line change
@@ -1,68 +1,73 @@
11
using FluentAssertions;
2+
using Nest.Tests.MockData;
23
using Nest.Tests.MockData.Domain;
34
using NUnit.Framework;
45

56
namespace Nest.Tests.Integration.Aggregations
67
{
7-
[TestFixture]
8-
public class FiltersAggregationTests : IntegrationTests
9-
{
10-
[Test]
11-
public void NamedFilters()
12-
{
13-
var results = this.Client.Search<ElasticsearchProject>(s => s
14-
.Size(0)
15-
.Aggregations(a => a
16-
.Filters("filtersAggregation",
17-
t =>
18-
t.Filters(x => x.Name("first").Term(p => p.Name, "pyelasticsearch"),
19-
x => x.Name("second").Term(p => p.Country, "Sweden"))
20-
.Aggregations(n => n.Average("avg", d => d.Field(x => x.Id)))
21-
)
22-
)
23-
);
8+
[TestFixture]
9+
public class FiltersAggregationTests : IntegrationTests
10+
{
11+
private readonly string _indexedName = NestTestData.Data[3].Name;
12+
private readonly string _indexedCountry = NestTestData.Data[2].Country;
13+
[Test]
14+
public void NamedFilters()
15+
{
2416

25-
results.IsValid.Should().BeTrue();
26-
var filtersBuckets = results.Aggs.Filters("filtersAggregation");
27-
filtersBuckets.Should().NotBeNull();
28-
filtersBuckets.Aggregations.Should().NotBeNull();
17+
var results = this.Client.Search<ElasticsearchProject>(s => s
18+
.Size(0)
19+
.Aggregations(a => a
20+
.Filters("filtersAggregation", t => t
21+
.Filters(
22+
x => x.Name("first").Term(p => p.Name.Suffix("sort"), _indexedName),
23+
x => x.Name("second").Term(p => p.Country, _indexedCountry)
24+
)
25+
.Aggregations(n => n.Average("avg", d => d.Field(x => x.Id)))
26+
)
27+
)
28+
);
2929

30-
var firstBucket = filtersBuckets.Aggregations.Global("first");
31-
firstBucket.Should().NotBeNull();
32-
var firstCount = firstBucket.DocCount;
33-
firstCount.ShouldBeEquivalentTo(1);
30+
results.IsValid.Should().BeTrue();
31+
var filtersBuckets = results.Aggs.Filters("filtersAggregation");
32+
filtersBuckets.Should().NotBeNull();
33+
filtersBuckets.Aggregations.Should().NotBeNull();
3434

35-
var secondBucket = filtersBuckets.Aggregations.Global("second");
36-
secondBucket.Should().NotBeNull();
37-
var secondCount = secondBucket.DocCount;
38-
secondCount.ShouldBeEquivalentTo(2);
39-
}
35+
var firstBucket = filtersBuckets.Aggregations.Global("first");
36+
firstBucket.Should().NotBeNull();
37+
firstBucket.DocCount.Should().BeGreaterOrEqualTo(1);
4038

41-
[Test]
42-
public void AnonymousFilters()
43-
{
44-
var results = this.Client.Search<ElasticsearchProject>(s => s
45-
.Size(0)
46-
.Aggregations(a => a
47-
.Filters("filtersAggregation",
48-
t =>
49-
t.Filters(x => x.Term(p => p.Name, "pyelasticsearch"), x => x.Term(p => p.Country, "Sweden"))
50-
.Aggregations(n => n.Average("avg", d => d.Field(x => x.Id)))
51-
)
52-
)
53-
);
39+
var secondBucket = filtersBuckets.Aggregations.Global("second");
40+
secondBucket.Should().NotBeNull();
41+
var secondCount = secondBucket.DocCount;
42+
secondCount.Should().BeGreaterOrEqualTo(1);
43+
}
5444

55-
results.IsValid.Should().BeTrue();
56-
var filtersBuckets = results.Aggs.Filters("filtersAggregation");
57-
filtersBuckets.Should().NotBeNull();
58-
filtersBuckets.Items.Should().NotBeNull();
45+
[Test]
46+
public void AnonymousFilters()
47+
{
48+
var results = this.Client.Search<ElasticsearchProject>(s => s
49+
.Size(0)
50+
.Aggregations(a => a
51+
.Filters("filtersAggregation", t => t
52+
.Filters(
53+
x => x.Term(p => p.Name.Suffix("sort"), _indexedName),
54+
x => x.Term(p => p.Country, _indexedCountry)
55+
)
56+
.Aggregations(n => n.Average("avg", d => d.Field(x => x.Id)))
57+
)
58+
)
59+
);
5960

60-
var buckets = filtersBuckets.Items;
61-
buckets.Should().NotBeNull()
62-
.And.HaveCount(2)
63-
.And.Contain(a => (a as SingleBucket).DocCount == 1)
64-
.And.Contain(a => (a as SingleBucket).DocCount == 2);
61+
results.IsValid.Should().BeTrue();
62+
var filtersBuckets = results.Aggs.Filters("filtersAggregation");
63+
filtersBuckets.Should().NotBeNull();
64+
filtersBuckets.Items.Should().NotBeNull();
6565

66-
}
67-
}
66+
var buckets = filtersBuckets.Items;
67+
buckets.Should().NotBeNull()
68+
.And.HaveCount(2)
69+
.And.OnlyContain(a => (a as SingleBucket).DocCount >= 1);
70+
71+
}
72+
}
6873
}

0 commit comments

Comments
 (0)