private AutoMockContainer(AutoMockHelper helper) { _helper = helper; _latentMocker = helper; // FIXME: This feels like object incest. Is it ok? helper.Container = this; Initialize(); }
//methods public override void SpecInit(INeedSampleDatabase instance) { instance.SampleDatabase = new SampleDbContext(); IAutoMocker mocker = instance.Mocker; var smm = (StructureMapAutoMocker <EntityFrameworkCorePersistentStorage>)mocker; smm.MoqAutoMocker.Container.Configure(cfg => { cfg.For <Func <DbContext> >().Use((Func <DbContext>)(() => new SampleDbContext())); }); }
public static Mock <TMock>[] GetMockForEnumerableOf <T, TMock>(this IAutoMocker <T> mocker, int enumerableSize) where TMock : class where T : class { var existingMocks = mocker.Container.Model.InstancesOf <TMock>().ToArray(); if (existingMocks.Length > 0) { if (existingMocks.Length != enumerableSize) { throw new InvalidOperationException("An IEnumerable for this type of mock has already been created with size " + existingMocks.Length + "."); } return(mocker.Container.GetAllInstances <TMock>().Select(Mock.Get).ToArray()); } var mocks = mocker.CreateMockArrayFor <TMock>(enumerableSize); return(mocks.Select(Mock.Get).ToArray()); }
public static Mock <TMock> GetMockFor <T, TMock>(this IAutoMocker <T> mocker) where TMock : class where T : class { return(Mock.Get(mocker.Get <TMock>())); }
public static T GetServiceInstance <T>(this IAutoMocker autoMocker) { AutoMockedContainer autoMockContainer = (autoMocker as dynamic).MoqAutoMocker.Container; return(autoMockContainer.GetInstance <T>()); }
public static AutoMockedContainer GetContainer(this IAutoMocker autoMocker) { AutoMockedContainer autoMockContainer = (autoMocker as dynamic).MoqAutoMocker.Container; return(autoMockContainer); }
/// <summary> /// For unit testing. I can't think of why we need this for anything else /// </summary> /// <param name="helper"></param> /// <param name="latentMocker"></param> internal AutoMockContainer(IAutoMocker helper, ILatentMocker latentMocker) { _helper = helper; _latentMocker = latentMocker; Initialize(); }