public void Constructor_ShouldInitializeObject_WhenValidParameterPassed() { // Arange var condimentsStrategiesMock = new Mock <IDictionary <string, Func <ICoffee, ICoffee> > >(); var coffeetypeStrategiesMock = new Mock <IDictionary <string, Func <CoffeSizeType, ICoffee> > >(); // Act var plovdivStore = new PlovdivCoffeeStoreFake(condimentsStrategiesMock.Object, coffeetypeStrategiesMock.Object); //Assert Assert.That(plovdivStore, Is.Not.Null); Assert.That(plovdivStore, Is.InstanceOf <ICoffeeStore>()); }
public void CreateCoffee_ShouldThrowArgumentNullException_WhenInvalidParameterPassed() { // Arange var condimentsStrategiesMock = new Mock <IDictionary <string, Func <ICoffee, ICoffee> > >(); var coffeetypeStrategiesMock = new Mock <IDictionary <string, Func <CoffeSizeType, ICoffee> > >(); string coffeeType = "Espresso"; CoffeSizeType size = CoffeSizeType.Medium; coffeetypeStrategiesMock.Setup(d => d.ContainsKey(coffeeType)).Returns(false); var plovdivStore = new PlovdivCoffeeStoreFake(condimentsStrategiesMock.Object, coffeetypeStrategiesMock.Object); //Act & Assert Assert.That(() => plovdivStore.ExposedCreateCoffee(coffeeType, size), Throws.InstanceOf <ArgumentNullException>()); }
public void CreateCoffee_ShouldReturnICoffeeObject_WhenValidParameterPassed() { // Arange var condimentsStrategiesMock = new Mock <IDictionary <string, Func <ICoffee, ICoffee> > >(); var coffeetypeStrategiesMock = new Mock <IDictionary <string, Func <CoffeSizeType, ICoffee> > >(); string coffeeType = "Espresso"; CoffeSizeType size = CoffeSizeType.Medium; Func <CoffeSizeType, ICoffee> func = s => new Espresso(s); coffeetypeStrategiesMock.Setup(d => d.ContainsKey(coffeeType)).Returns(true); coffeetypeStrategiesMock.Setup(d => d[coffeeType]).Returns(func); var plovdivStore = new PlovdivCoffeeStoreFake(condimentsStrategiesMock.Object, coffeetypeStrategiesMock.Object); // Act var result = plovdivStore.ExposedCreateCoffee(coffeeType, size); //Assert Assert.That(result, Is.Not.Null); Assert.That(result, Is.InstanceOf <ICoffee>()); }