static void Main(string[] args) { Mathematic mathematic = new Mathematic(); CachingDecorator caching = new CachingDecorator(mathematic); LoggingDecorator logging = new LoggingDecorator(caching); logging.Operation(); Console.ReadLine(); }
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()); }