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);
 }