Operation() public method

public Operation ( ) : void
return void
        public void BShouldPerformAdditionalPartBWork()
        {
            IComponent    comp = new Component("Common Part");
            DecoratorBase B    = new DecoratorB("Part B", comp);

            B.Operation().Should().StartWith("Hmm Operated by Part B");
            B.Operation().Should().EndWith("Operated by Common Part.");
        }
Ejemplo n.º 2
0
    public static void Main(string[] args)
    {
        IComponent decoratorA = new DecoratorA(new Component());
        IComponent decoratorB = new DecoratorB(decoratorA);

        decoratorA.Operation();
        Console.WriteLine();

        decoratorB.Operation();
    }
        public void DecoratorPattern_TestIfDecoratedResultIsValid()
        {
            // Arrange
            var component  = new Component(new DecorationResult());
            var decoratorA = new DecoratorA(component);
            var decoratorB = new DecoratorB(decoratorA);

            // Act
            var result = decoratorB.Operation();

            // Assert
            const int excpectedResult = 12;

            Assert.AreEqual(result.Force, excpectedResult);
        }
Ejemplo n.º 4
0
        public void DecoratorPatternCodeTest()
        {
            // 在原来的基础上增加功能
            Console.WriteLine("在原来的基础上增加功能");
            ConcreteComponent concreteComponent = new ConcreteComponent();

            DecoratorA decoratorA = new DecoratorA(concreteComponent);
            DecoratorB decoratorB = new DecoratorB(decoratorA);

            decoratorB.Operation();

            Console.WriteLine("-------------------------------------");

            // 覆盖掉原来的功能
            Console.WriteLine("覆盖掉原来的功能");
            CurrComponent currComponent = new CurrComponent();

            currComponent.Operation();
        }
Ejemplo n.º 5
0
        public void Testing()
        {
            var component = new Component();

            var componentTest = component.Operation();

            var decoratorA = new DecoratorA(component);
            var decoratorB = new DecoratorB(component);

            var decoratorATest = decoratorA.Operation();
            var decoratorBTest = decoratorB.Operation();

            var decoratorBA = new DecoratorB(new DecoratorA(component));
            var decoratorAB = new DecoratorA(new DecoratorB(component));

            var decoratorBATest = decoratorBA.Operation();
            var decoratorABTest = decoratorAB.Operation();

            var result = decoratorB.AddedState + decoratorB.AddedBehavior();
        }