Пример #1
0
        /// <summary>
        /// Logs an invocation of an expression.
        /// </summary>
        /// <param name="mock">The mock.</param>
        /// <param name="expression">The expression.</param>
        public void LogInvocation <TMock, TResult>(Mock <TMock> mock, Expression <Func <TMock, TResult> > expression) where TMock : class
        {
            var key    = new MockExpressionKey(mock, expression);
            var logger = Invocations[key];

            logger.LogInvocation(Counter++);
        }
Пример #2
0
        public void TestInitialize()
        {
            var mock1 = new Mock <object>();
            var mock2 = new Mock <object>();
            Expression <Func <object, string> > expression1 = o => o.ToString();
            Expression <Func <object, string> > expression2 = o => o.ToString();

            key1 = new MockExpressionKey(mock1, expression1);
            key2 = new MockExpressionKey(mock2, expression2);
        }
Пример #3
0
        /// <summary>
        /// Gets the logger for the specified mock.
        /// </summary>
        /// <typeparam name="TMock">The type of the mock.</typeparam>
        /// <typeparam name="TResult">The type of the result.</typeparam>
        /// <param name="mock">The mock.</param>
        /// <param name="expression">The expression.</param>
        /// <returns></returns>
        /// <exception cref="MockInvocationOrderSetupException">There was no setup for the mock.</exception>
        public ExpressionInvocationLogger GetLogger <TMock, TResult>(Mock <TMock> mock, Expression <Func <TMock, TResult> > expression) where TMock : class
        {
            var key = new MockExpressionKey(mock, expression);
            ExpressionInvocationLogger logger;

            if (!Invocations.TryGetValue(key, out logger))
            {
                throw new MockInvocationOrderSetupException("There was no setup for the mock.");
            }
            return(logger);
        }
Пример #4
0
        public void Key_with_It_equals_itself()
        {
            // Arrange
            Expression <Func <object, bool> > expr = o => o.Equals(It.IsAny <object>());
            var key = new MockExpressionKey(new Mock <object>(), expr);

            // Act
            var equalsSelf = key.Equals(key);

            // Assert
            Assert.IsTrue(equalsSelf);
        }
Пример #5
0
        /// <summary>
        /// Setups order of invocation logging for the mock.
        /// </summary>
        /// <typeparam name="TMock">The type of the mock.</typeparam>
        /// <typeparam name="TResult">The type of the result.</typeparam>
        /// <param name="mock">The mock.</param>
        /// <param name="expression">The expression.</param>
        public void Setup <TMock, TResult>(Mock <TMock> mock, Expression <Func <TMock, TResult> > expression) where TMock : class
        {
            var key = new MockExpressionKey(mock, expression);

            Invocations[key] = new ExpressionInvocationLogger();
        }