/**
  * Test normalization.
  */
 public function testNormalization()
 {
     $instance = new FilterEndpoint();
     /** @var NormalizerInterface|MockObject $normalizerInterface */
     $normalizerInterface = $this->getMockForAbstractClass('Symfony\\Component\\Serializer\\Normalizer\\NormalizerInterface');
     $this->assertNull($instance->normalize($normalizerInterface));
     $this->assertFalse($instance->hasReference('filtered_query'));
     $matchAllFilter = new MatchAllFilter();
     $instance->add($matchAllFilter);
     $this->assertNull($instance->normalize($normalizerInterface));
     $this->assertTrue($instance->hasReference('filtered_query'));
     /** @var FilteredQuery $reference */
     $reference = $instance->getReference('filtered_query');
     $this->assertInstanceOf('ONGR\\ElasticsearchDSL\\Query\\FilteredQuery', $reference);
     $this->assertSame($matchAllFilter, $reference->getFilter());
 }
 /**
  * Test normalization.
  */
 public function testNormalization()
 {
     $instance = new FilterEndpoint();
     /** @var NormalizerInterface|MockObject $normalizerInterface */
     $normalizerInterface = $this->getMockForAbstractClass('Symfony\\Component\\Serializer\\Normalizer\\NormalizerInterface');
     $this->assertNull($instance->normalize($normalizerInterface));
     $this->assertFalse($instance->hasReference('filter_query'));
     $matchAllFilter = new MatchAllQuery();
     $instance->add($matchAllFilter);
     $this->assertNull($instance->normalize($normalizerInterface));
     $this->assertTrue($instance->hasReference('filter_query'));
     /** @var \ONGR\ElasticsearchDSL\Query\BoolQuery $bool */
     $bool = $instance->getReference('filter_query');
     $this->assertInstanceOf('ONGR\\ElasticsearchDSL\\Query\\BoolQuery', $bool);
     $must = $bool->getQueries('must');
     $realReference = reset($must);
     $this->assertSame($matchAllFilter, $realReference);
 }