/** * @test */ public function getValuesWhenQueryHasTwoSubgroupsSelectedAndTheReturnMustContainsOneListOfValuesToEachSubgroup() { $subgroup = $origin = $destiny = $font = 1; $variety = $type = array(1, 2); $dataParams = new DataParam($subgroup, $font, $type, $variety, $origin, $destiny); $this->repository->expects($this->at(0))->method('getValuesWithMultipleParamsSelected')->with($this->equalTo($dataParams), $this->equalTo(array(1, 2)))->will($this->returnValue($this->listFilteredByOneSubgroup())); $subgroup = 8; $origin = $destiny = $font = 1; $variety = $type = array(1, 2); $dataParams2 = new DataParam($subgroup, $font, $type, $variety, $origin, $destiny); $this->repository->expects($this->at(1))->method('getValuesWithMultipleParamsSelected')->with($this->equalTo($dataParams2), $this->equalTo(array(1, 2)))->will($this->returnValue($this->listFilteredByOtherSubgroup())); $subgroup = array(1, 8); $font = $origin = $destiny = 1; $variety = $type = array(1, 2); $dataParam = new DataParam($subgroup, $font, $type, $variety, $origin, $destiny); $values = $this->service->getValuesFilteringWithMultipleParams($dataParam, array(1, 2)); $this->assertTrue($values instanceof HashMap); $this->assertEquals(1990, $values->get(0)->offsetGet(0)->getYear()); $this->assertEquals('Brasil', $values->get(1)->offsetGet(0)->getOriginName()); $this->assertEquals('USA', $values->get(1)->offsetGet(0)->getDestinyName()); $this->assertEquals('Conilon', $values->get(1)->offsetGet(0)->getVariety()); $this->assertEquals('ArĂ¡bica', $values->get(0)->offsetGet(0)->getVariety()); }