public function it_should_be_able_to_return_a_total_score_for_the_recipe(Larder $larder, Ingredient $butterscotch, Ingredient $cinnamon) { $larder->offsetGet("Butterscotch")->shouldBeCalled()->willReturn($butterscotch); $larder->offsetGet("Cinnamon")->shouldBeCalled()->willReturn($cinnamon); $butterscotch->capacity()->shouldBeCalled()->willReturn(-1); $cinnamon->capacity()->shouldBeCalled()->willReturn(2); $butterscotch->durability()->shouldBeCalled()->willReturn(-2); $cinnamon->durability()->shouldBeCalled()->willReturn(3); $butterscotch->flavour()->shouldBeCalled()->willReturn(6); $cinnamon->flavour()->shouldBeCalled()->willReturn(-2); $butterscotch->texture()->shouldBeCalled()->willReturn(3); $cinnamon->texture()->shouldBeCalled()->willReturn(-1); $this->totalScoreForRecipe()->shouldBe(62842880); }
/** * @param Larder $larder * @param Combinations $combinations * @param Ingredient $butterscotch * @param Ingredient $cinnamon */ private function prepareMocks(Larder $larder, Combinations $combinations, Ingredient $butterscotch, Ingredient $cinnamon) { $combinations->generate(100)->shouldBeCalled()->willReturn($this->combo()); $larder->ingredients()->shouldBeCalled()->willReturn(["Butterscotch", "Cinnamon"]); $larder->offsetGet("Butterscotch")->shouldBeCalled()->willReturn($butterscotch); $larder->offsetGet("Cinnamon")->shouldBeCalled()->willReturn($cinnamon); $butterscotch->capacity()->shouldBeCalled()->willReturn(-1); $cinnamon->capacity()->shouldBeCalled()->willReturn(2); $butterscotch->durability()->shouldBeCalled()->willReturn(-2); $cinnamon->durability()->shouldBeCalled()->willReturn(3); $butterscotch->flavour()->shouldBeCalled()->willReturn(6); $cinnamon->flavour()->shouldBeCalled()->willReturn(-2); $butterscotch->texture()->shouldBeCalled()->willReturn(3); $cinnamon->texture()->shouldBeCalled()->willReturn(-1); }