@@ -62,13 +62,7 @@ public void shouldConstructFilterExpressionCorrectly() {
6262						.and (filter ("items" ).as ("item" ).by (AggregationFunctionExpressions .GTE .of (Fields .field ("item.price" ), 100 )))
6363						.as ("items" ));
6464
65- 		Document  dbo  = agg .toDocument ("sales" , aggregationContext );
66- 
67- 		List <Object > pipeline  = DocumentTestUtils .getAsDBList (dbo , "pipeline" );
68- 		Document  $project  = DocumentTestUtils .getAsDocument ((Document ) pipeline .get (0 ), "$project" );
69- 		Document  items  = DocumentTestUtils .getAsDocument ($project , "items" );
70- 		Document  $filter  = DocumentTestUtils .getAsDocument (items , "$filter" );
71- 
65+ 		Document  $filter  = extractFilterOperatorFromDocument (agg .toDocument ("sales" , aggregationContext ));
7266		Document  expected  = Document .parse ("{"  + // 
7367				"input: \" $items\" ,"  + // 
7468				"as: \" item\" ,"  + // 
@@ -84,13 +78,7 @@ public void shouldConstructFilterExpressionCorrectlyWhenUsingFilterOnProjectionB
8478		TypedAggregation <Sales > agg  = Aggregation .newAggregation (Sales .class , Aggregation .project ().and ("items" )
8579				.filter ("item" , AggregationFunctionExpressions .GTE .of (Fields .field ("item.price" ), 100 )).as ("items" ));
8680
87- 		Document  dbo  = agg .toDocument ("sales" , aggregationContext );
88- 
89- 		List <Object > pipeline  = DocumentTestUtils .getAsDBList (dbo , "pipeline" );
90- 		Document  $project  = DocumentTestUtils .getAsDocument ((Document ) pipeline .get (0 ), "$project" );
91- 		Document  items  = DocumentTestUtils .getAsDocument ($project , "items" );
92- 		Document  $filter  = DocumentTestUtils .getAsDocument (items , "$filter" );
93- 
81+ 		Document  $filter  = extractFilterOperatorFromDocument (agg .toDocument ("sales" , aggregationContext ));
9482		Document  expected  = Document .parse ("{"  + // 
9583				"input: \" $items\" ,"  + // 
9684				"as: \" item\" ,"  + // 
@@ -107,13 +95,7 @@ public void shouldConstructFilterExpressionCorrectlyWhenInputMapToArray() {
10795				Aggregation .project ().and (filter (Arrays .<Object > asList (1 , "a" , 2 , null , 3.1D , 4 , "5" )).as ("num" )
10896						.by (AggregationFunctionExpressions .GTE .of (Fields .field ("num" ), 3 ))).as ("items" ));
10997
110- 		Document  dbo  = agg .toDocument ("sales" , aggregationContext );
111- 
112- 		List <Object > pipeline  = DocumentTestUtils .getAsDBList (dbo , "pipeline" );
113- 		Document  $project  = DocumentTestUtils .getAsDocument ((Document ) pipeline .get (0 ), "$project" );
114- 		Document  items  = DocumentTestUtils .getAsDocument ($project , "items" );
115- 		Document  $filter  = DocumentTestUtils .getAsDocument (items , "$filter" );
116- 
98+ 		Document  $filter  = extractFilterOperatorFromDocument (agg .toDocument ("sales" , aggregationContext ));
11799		Document  expected  = Document .parse ("{"  + // 
118100				"input: [ 1, \" a\" , 2, null, 3.1, 4, \" 5\"  ],"  + // 
119101				"as: \" num\" ,"  + // 
@@ -130,13 +112,7 @@ public void shouldConstructFilterExpressionCorrectlyWhenConditionContainsFieldRe
130112				.and (filter ("items" ).as ("item" ).by (ComparisonOperators .valueOf ("item.price" ).greaterThan ("field-1" )))
131113				.as ("items" ));
132114
133- 		Document  dbo  = agg .toDocument ("sales" , Aggregation .DEFAULT_CONTEXT );
134- 
135- 		List <Object > pipeline  = DocumentTestUtils .getAsDBList (dbo , "pipeline" );
136- 		Document  $project  = DocumentTestUtils .getAsDocument ((Document ) pipeline .get (0 ), "$project" );
137- 		Document  items  = DocumentTestUtils .getAsDocument ($project , "items" );
138- 		Document  $filter  = DocumentTestUtils .getAsDocument (items , "$filter" );
139- 
115+ 		Document  $filter  = extractFilterOperatorFromDocument (agg .toDocument ("sales" , Aggregation .DEFAULT_CONTEXT ));
140116		Document  expected  = Document .parse ("{"  + // 
141117				"input: \" $items\" ,"  + // 
142118				"as: \" item\" ,"  + // 
@@ -146,6 +122,14 @@ public void shouldConstructFilterExpressionCorrectlyWhenConditionContainsFieldRe
146122		assertThat ($filter ).isEqualTo (new  Document (expected ));
147123	}
148124
125+ 	private  Document  extractFilterOperatorFromDocument (Document  source ) {
126+ 
127+ 		List <Object > pipeline  = DocumentTestUtils .getAsDBList (source , "pipeline" );
128+ 		Document  $project  = DocumentTestUtils .getAsDocument ((Document ) pipeline .get (0 ), "$project" );
129+ 		Document  items  = DocumentTestUtils .getAsDocument ($project , "items" );
130+ 		return  DocumentTestUtils .getAsDocument (items , "$filter" );
131+ 	}
132+ 
149133	static  class  Sales  {
150134
151135		List <Object > items ;
0 commit comments