static void Main(string[] args)
        {
            Mathematic       mathematic = new Mathematic();
            CachingDecorator caching    = new CachingDecorator(mathematic);
            LoggingDecorator logging    = new LoggingDecorator(caching);

            logging.Operation();
            Console.ReadLine();
        }
Ejemplo n.º 2
0
        public void Apply_NotCached()
        {
            var internalBehaviorMock = new Mock <IModifyBehavior>();

            internalBehaviorMock.Setup(x => x.Apply(It.IsAny <string>())).Returns <string>(y => y);
            const string someText = "someText";
            var          target   = new CachingDecorator(internalBehaviorMock.Object);

            target.Apply(someText);
            internalBehaviorMock.Verify(x => x.Apply(It.IsAny <string>()), Times.Once());
        }