示例#1
0
        public void After_will_be_called_after()
        {
            bool afterCalled = false;
            var  dispatcher  = new TestFuncDispatcher <int>(() => 420);

            dispatcher.After(() => { afterCalled = true; });

            dispatcher.Invoke();
            Assert.True(afterCalled);
        }
示例#2
0
        public void Before_will_be_called_first()
        {
            bool beforeCalled = false;
            var  dispatcher   = new TestFuncDispatcher <int>(() => 420);

            dispatcher.Before(() => { beforeCalled = true; });

            dispatcher.Invoke();
            Assert.True(beforeCalled);
        }
示例#3
0
        public void Invoke_will_track_call_arguments_and_return_value()
        {
            var dispatcher = new TestFuncDispatcher <int, int, int>((s, t) => 420);

            dispatcher.Invoke(50, 54);

            Assert.Equal(1, dispatcher.CallCount);
            Assert.True(dispatcher.Called);
            Assert.Equal((50, 54), dispatcher.LastArgs);
            Assert.Equal((50, 54), dispatcher.ArgsForCall(0));
            Assert.Equal(420, dispatcher.ResultForCall(0));
        }
示例#4
0
        public void Invoke_will_return_value_from_thunk()
        {
            var dispatcher = new TestFuncDispatcher <int, int, int>((s, t) => 420);

            Assert.Equal(420, dispatcher.Invoke(0, 0));
        }