Exemple #1
0
        static T Create <T>(Func <object, MockInvocationInterceptor, T> factoryFunc, ExpectationScope expectationScope)
        {
            var mock = new Mock(MockName <T> .GetUniqueInScope(expectationScope));

            lock (factory)
            {
                return(factoryFunc(mock, new MockInvocationInterceptor(expectationScope)));
            }
        }
        public void GetUniqueName()
        {
            var scope = new Scope();

            Assert.AreEqual("object", MockName <object> .GetUniqueInScope(scope));
            Assert.AreEqual("object2", MockName <object> .GetUniqueInScope(scope));
            Assert.AreEqual("object3", MockName <object> .GetUniqueInScope(scope));

            Assert.AreEqual("string", MockName <string> .GetUniqueInScope(scope));
            Assert.AreEqual("string2", MockName <string> .GetUniqueInScope(scope));
            Assert.AreEqual("string3", MockName <string> .GetUniqueInScope(scope));

            Assert.AreEqual("iMyDelegate", MockName <IMyDelegate> .GetUniqueInScope(scope));
            Assert.AreEqual("imyDelegate", MockName <IMYDelegate> .GetUniqueInScope(scope));
            Assert.AreEqual("myInterface", MockName <IMyInterface> .GetUniqueInScope(scope));

            Assert.AreEqual("myGenericInterfaceWithOneArg", MockName <IMyGenericInterfaceWithOneArg <string> > .GetUniqueInScope(scope));
            Assert.AreEqual("myGenericInterfaceWithTwoArg", MockName <IMyGenericInterfaceWithTwoArg <string, int> > .GetUniqueInScope(scope));
        }