コード例 #1
0
 private static void RegisterRepositories(GenericRepositoryFactory store)
 {
     store.RegisterSingleton <IMarcaRepository>(m => new Marca());
     //TODO
     store.RegisterSingleton <IModeloRepository>(m => new Modelo(new Marca()));
     //store.RegisterSingleton<IModeloRepository>(m => new Modelo());
 }
コード例 #2
0
        public void WhenRepoRegisteredThenGetInstance()
        {
            var factory = new GenericRepositoryFactory();

            factory.RegisterTransient <IMyRepo>(x => new MyRepo());
            var actual = factory.GetRepository <IMyRepo>();

            actual.Should().Be.OfType <MyRepo>();
        }
コード例 #3
0
        public void WhenRepoRegisteredAsSingletonThenGetSameInstance()
        {
            var factory = new GenericRepositoryFactory();

            factory.RegisterSingleton <IMyRepo>(x => new MyRepo());

            var first  = factory.GetRepository <IMyRepo>();
            var actual = factory.GetRepository <IMyRepo>();

            actual.Should().Be.SameInstanceAs(first);
        }
コード例 #4
0
        public static void RegisterAllServices(this SimpleServiceContainer store)
        {
            var repoFactory = new GenericRepositoryFactory(store, store);

            store.RegisterSingleton <IRepositoryFactory>(c => repoFactory);
            var reports = new ReportsProvider();

            store.RegisterSingleton <IReportsProvider>(reports);
            store.RegisterSingleton <IReportsStore>(reports);
            RegisterRepositories(repoFactory);
        }
コード例 #5
0
        public void WhenNoRepoRegisteredThenThrow()
        {
            var factory = new GenericRepositoryFactory();

            factory.Executing(x => x.GetRepository <IMyRepo>()).Throws <ArgumentOutOfRangeException>();
        }
コード例 #6
0
 public AccountService()
 {
     _userManager = new UserManagerFactory().Create();
     _repository  = GenericRepositoryFactory.Create();
 }