public void ReadyCoffee_BoilerEmpty()
        {
            CoffeeMaker maker = new CoffeeMaker();
            Input       input = new BoilerEmpty();

            Assert.IsInstanceOfType(maker.coffeeMaker, typeof(BrewCoffee));
            maker.change(input);
            Assert.IsInstanceOfType(maker.coffeeMaker, typeof(ReadyCoffee));
        }
        public void Interrupt_BrewCiffee_WarmerEmpty()
        {
            CoffeeMaker maker = new CoffeeMaker();
            Input       input = new WarmerEmpty();

            Assert.IsInstanceOfType(maker.coffeeMaker, typeof(BrewCoffee));
            maker.change(input);
            Assert.IsInstanceOfType(maker.coffeeMaker, typeof(Interrupt));
        }
        public void Readycoffee_afterPour_warmerNotEmpty()
        {
            ICoffeeMaker makerType = new PourCoffee();
            CoffeeMaker  maker     = new CoffeeMaker(makerType);
            Input        input     = new WarmerNotEmpty();

            Assert.IsInstanceOfType(maker.coffeeMaker, typeof(PourCoffee));
            maker.change(input);
            Assert.IsInstanceOfType(maker.coffeeMaker, typeof(ReadyCoffee));
        }
        public void PourCoffee_when_Ready_warmerEmpty()
        {
            ICoffeeMaker makerType = new ReadyCoffee();
            CoffeeMaker  maker     = new CoffeeMaker(makerType);
            Input        input     = new WarmerEmpty();

            Assert.IsInstanceOfType(maker.coffeeMaker, typeof(ReadyCoffee));
            maker.change(input);
            Assert.IsInstanceOfType(maker.coffeeMaker, typeof(PourCoffee));
        }
        public void BrewCoffee_after_Interruption_WarmerNotEmpty()
        {
            ICoffeeMaker makerType = new Interrupt();
            CoffeeMaker  maker     = new CoffeeMaker(makerType);
            Input        input     = new WarmerNotEmpty();

            Assert.IsInstanceOfType(maker.coffeeMaker, typeof(Interrupt));
            maker.change(input);
            Assert.IsInstanceOfType(maker.coffeeMaker, typeof(BrewCoffee));
        }