コード例 #1
0
        public MockedInstance GenerateMock(MockingContext context, Type type)
        {
            var elementType = type.GetGenericArguments()[0];
            var mockInstance = context.GenerateMock(elementType);
            var list = (IList)typeof(List<>).MakeGenericType(elementType).GetConstructor(new Type[0]).Invoke(new object[0]);
            list.Add(mockInstance.InstanceToPassToConstructor);

            return new MockedInstance(elementType, mockInstance.Mock, list);
        }
コード例 #2
0
        public MockedInstance GenerateMock(MockingContext context, Type type)
        {
            var mocks = type
                           .GetMostSpecificConstructor()
                           .GetParameters()
                           .Select(param => context.GenerateMock(param.ParameterType))
                           .Select(mock => mock.Mock.Object)
                           .ToArray();

            return new MockedInstance(type, type.CreateMock(mocks));
        }
コード例 #3
0
ファイル: ArrayMockGenerator.cs プロジェクト: tpeplow/AutoMoq
        public MockedInstance GenerateMock(MockingContext context, Type type)
        {
            var dependencyType = type.GetElementType();
            var mockInstance = context.GenerateMock(dependencyType);
            var array = Array.CreateInstance(dependencyType, 1);

            for (var i = 0; i < array.Length; i++)
            {
                array.SetValue(mockInstance.InstanceToPassToConstructor, i);
            }

            return new MockedInstance(dependencyType, mockInstance.Mock, array);
        }
コード例 #4
0
ファイル: MockingContext.cs プロジェクト: tpeplow/AutoMoq
        public static MockingContext Create(object[] dependencies)
        {
            var context = new MockingContext();
            context.AddMockGenerator(new ArrayMockGenerator());
            context.AddMockGenerator(new EnumerableMockGenerator());
            context.AddMockGenerator(new ConcreteMockGenerator());

            if (dependencies != null)
            {
                foreach (var dependency in dependencies)
                {
                    context.AddDependency(dependency);
                }
            }
            return context;
        }
コード例 #5
0
        public MockedInstance GenerateMock(MockingContext context, Type type)
        {
            var mockInstance = type.CreateMock();

            return new MockedInstance(type, mockInstance);
        }