1
1
using FluentAssertions ;
2
+ using Nest . Tests . MockData ;
2
3
using Nest . Tests . MockData . Domain ;
3
4
using NUnit . Framework ;
4
5
5
6
namespace Nest . Tests . Integration . Aggregations
6
7
{
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
+ {
24
16
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
+ ) ;
29
29
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 ( ) ;
34
34
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 ) ;
40
38
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
+ }
54
44
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
+ ) ;
59
60
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 ( ) ;
65
65
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
+ }
68
73
}
0 commit comments