예제 #1
0
        public void WhenAddingMockBehavior_ThenCanInterceptSelectively()
        {
            var calculator = new ICalculatorProxy();
            var behavior   = new MockTrackingBehavior();

            calculator.AddBehavior(behavior);
            calculator.AddBehavior((m, n) => m.CreateValueReturn("Basic"), m => m.MethodBase.Name == "get_Mode");
            calculator.AddBehavior(new DefaultValueBehavior());

            var mode = calculator.Mode;
            var add  = calculator.Add(3, 2);

            Assert.Equal("Basic", mode);
            Assert.Equal(0, add);
        }