public function testFilterCurrentClearingDecisions()
 {
     $itemId = 543;
     $pfileId = 432;
     $decision1 = M::mock(ClearingDecision::classname());
     $decision1->shouldReceive("getType")->atLeast()->once()->withNoArgs()->andReturn(DecisionTypes::IDENTIFIED);
     $decision1->shouldReceive("getScope")->atLeast()->once()->withNoArgs()->andReturn(DecisionScopes::REPO);
     $decision1->shouldReceive("getUploadTreeId")->andReturn($itemId);
     $decision1->shouldReceive("getPfileId")->andReturn($pfileId);
     $decision2 = M::mock(ClearingDecision::classname());
     $decision2->shouldReceive("getType")->atLeast()->once()->withNoArgs()->andReturn(DecisionTypes::IDENTIFIED);
     $decision2->shouldReceive("getScope")->atLeast()->once()->withNoArgs()->andReturn(DecisionScopes::ITEM);
     $decision2->shouldReceive("getUploadTreeId")->andReturn($itemId + 1);
     $decision2->shouldReceive("getPfileId")->andReturn($pfileId);
     $decisionIrrel = M::mock(ClearingDecision::classname());
     $decisionIrrel->shouldReceive("getType")->atLeast()->once()->withNoArgs()->andReturn(DecisionTypes::IRRELEVANT);
     $filteredClearingDecisions = $this->clearingDecisionFilter->filterCurrentClearingDecisions(array($decision1, $decisionIrrel, $decision2));
     assertThat($this->clearingDecisionFilter->getDecisionOf($filteredClearingDecisions, $itemId, $pfileId), is(sameInstance($decision1)));
     assertThat($this->clearingDecisionFilter->getDecisionOf($filteredClearingDecisions, $itemId + 1, $pfileId), is(sameInstance($decision2)));
     assertThat($this->clearingDecisionFilter->getDecisionOf($filteredClearingDecisions, $itemId + 2, $pfileId), is(sameInstance($decision1)));
 }
 public function testReturnsReadableDescriptionFromToStringWhenInitialisedWithNull()
 {
     $this->assertDescription('sameInstance(null)', sameInstance(null));
 }