Example #1
0
        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>());
        }
Example #2
0
        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>());
        }
Example #3
0
        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>());
        }