public void Test() { var inputParser = new Mock<IInputParser>(); var itemService = new Mock<IItemService>(); var discountService = new Mock<IDiscountService>(); inputParser.Setup(x=>x.Parse("SomeInput,SomeMoreInput")).Returns(new string[] { "SomeInput", "SomeMoreInput"}); itemService.Setup(x => x.PriceFor("SomeInput")).Returns(100); itemService.Setup(x => x.PriceFor("SomeMoreInput")).Returns(150); discountService.Setup(x => x.PriceAdjustment("SomeInput")).Returns(0); discountService.Setup(x => x.PriceAdjustment("SomeMoreInput")).Returns(50); var subject = new Checkout(inputParser.Object, itemService.Object, discountService.Object); var result = subject.Scan("SomeInput,SomeMoreInput"); Assert.That(result, Is.EqualTo("200")); inputParser.Verify(x => x.Parse("SomeInput,SomeMoreInput"), Times.Once()); itemService.Verify(x => x.PriceFor("SomeInput"), Times.Once()); itemService.Verify(x => x.PriceFor("SomeMoreInput"), Times.Once()); discountService.Verify(x => x.PriceAdjustment("SomeInput"), Times.Once()); discountService.Verify(x => x.PriceAdjustment("SomeMoreInput"), Times.Once()); }
public void Setup() { _checkout = new Checkout(); }