示例#1
0
        public async Task PingObjectAndRecievePong_missspell1()
        {
            var logger = new FakeTraceLogger();

            logger.FirstCall(str => str.ToString().Contains("call Ping"));
            var firstRealObject  = new RealObject(logger);
            var secondRealObject = new RealObject(logger);
            await firstRealObject.Send(secondRealObject, new PingMessage());
        }
示例#2
0
        public async Task RedefineMethodInTheTheDerivedClassButBaseStaysUnmodified()
        {
            var logger = new FakeTraceLogger()
                         .FirstCall(o => o.ToString().Contains("calls TestMessage"))
                         .AndThenCall(o => o.ToString().Contains("calls TestMessageResponse"))
                         .AndThenCall(o => o.ToString().Contains("test method response [base]"))
            ;
            var baseObj    = new Base(logger);
            var derivedObj = new DerivedWithOverridenMethod(logger);
            await baseObj.Send(derivedObj, new TestMessage("TestMethod"));

            Assert.AreEqual(3, logger.NumberOfCalls);
        }
示例#3
0
        public async Task DeriveMethodOfTheBaseClass()
        {
            var logger = new FakeTraceLogger()
                         .FirstCall(o => o.ToString().Contains("calls TestMessage"))
                         .AndThenCall(o => o.ToString().Contains("calls TestMessageResponse"))
                         .AndThenCall(o => o.ToString().Contains("test method response [base]"))
            ;
            var baseObj    = new Base(logger);
            var derivedObj = new Derived(logger);
            await baseObj.Send(derivedObj, new TestMessage("TestMethod"));

            Assert.AreEqual(3, logger.NumberOfCalls);
        }
示例#4
0
        public async Task PingObjectAndRecievePong()
        {
            var logger = new FakeTraceLogger();

            logger
            .FirstCall(str => str.ToString().Contains("calls Ping"))
            .AndThenCall(str => str.ToString().Contains("Received Ping"))
            .AndThenCall(str => str.ToString().Contains("calls Pong"))
            .AndThenCall(str => str.ToString().Contains("Received Pong"));
            var firstRealObject  = new RealObject(logger);
            var secondRealObject = new RealObject(logger);
            await firstRealObject.Send(secondRealObject, new PingMessage());

            Assert.AreEqual(4, logger.NumberOfCalls);
        }