public TransactionRangeTests()
 {
     fooRepository = new FooRepository(UnitOfWork);
     fixture = new Fixture();
     TransactionRange.CreateTransactionRangeManager =
         (unitOfWork => new ThreadLocalTransactionRangeManager(unitOfWork));
 }
Пример #2
0
        public FooTests()
        {
            _streamStore = new InMemoryStreamStore();
            var serializerSettings = new JsonSerializerSettings();

            _repository = new FooRepository(_streamStore, serializerSettings);
        }
    public void An_ArgumentException_is_raised()
    {
      // arrange
      var repo = new FooRepository();

      // act
      var foo = repo.GetById(Guid.Empty);
    }
Пример #4
0
 public MainPage()
 {
     InitializeComponent();
     fooRepository = new FooRepository();
     RecordUri     = new Command(() => AddFooToRepository(),
                                 canExecute: () => !string.IsNullOrEmpty(Uri));
     LoadFooList();
 }
            public RepositoryActor(FooRepository repo)
            {
                _repo = repo;

                Receive<InvalidData>(bad =>
                {
                    LogAndThrow();
                });
            }
            public RepositoryActor(FooRepository repo)
            {
                _repo = repo;

                Receive <InvalidData>(bad =>
                {
                    LogAndThrow();
                });
            }
        public void GetByNameTest_ReturnsallItemsWithGivenName()
        {
            IFooRepository repository = new FooRepository(MockDbFactory);

            var result = repository.GetByName("special name").ToList();

            Assert.IsNotNull(result);
            CollectionAssert.AllItemsAreNotNull(result);
            Assert.IsTrue(result.Any());
            result.ForEach(i => { Assert.AreEqual(i.Name, "special name"); });
        }
      public void Null_is_returned_if_a_match_does_not_exist()
      {
        // arrange
        var repo = new FooRepository();

        // act
        var foo = repo.GetById(Guid.NewGuid());

        // assert
        Assert.IsNull(foo);
      }
Пример #9
0
        public static void UseLiteDb()
        {
            var dbFactory  = new DbFactory <Foo>(DbFactory <Foo> .Configuration.Production);
            var repository = new FooRepository(dbFactory);

            var createdId = repository.Create(new Foo {
                Name = "correct name"
            });

            WriteLine(repository.GetByName("correct name").First().Name);
            ReadLine();
        }
      public void A_foo_is_returned_if_we_found_a_matching_id()
      {
        // arrange
        var repo = new FooRepository();

        // act
        var foo = repo.GetById(Guid.Parse(FooRepository.Guid1));

        // assert
        Assert.IsNotNull(foo);
        Assert.AreEqual(FooRepository.Guid1.ToLower(), foo.Id.ToString().ToLower());
      }
        public void CreateTest_ShouldReturnMinusOneIfNameNull()
        {
            IFooRepository repository = new FooRepository(MockDbFactory);

            var Foo = new Foo
            {
                Id   = 123456,
                Name = null,
            };

            var result = repository.Create(Foo);

            Assert.AreEqual(-1, result);
        }
        public void CreateTest_ShouldReturnMinusOneIfWrongName()
        {
            IFooRepository repository = new FooRepository(MockDbFactory);

            var foo = new Foo
            {
                Id   = 123456,
                Name = "wrong name",
            };

            var result = repository.Create(foo);

            Assert.AreEqual(-1, result);
        }
            public void RepositoryActor_should_dispose_repo_on_shutdown()
            {
                var repo = new FooRepository();
                var repoActor = Sys.ActorOf(Props.Create(() => new RepositoryActor(repo)));

                // assert repo has not been disposed
                Assert.False(repo.Disposed);

                Sys.Stop(repoActor);

                Thread.Sleep(TimeSpan.FromSeconds(1));

                // assert repo has now been disposed by RepositoryActor's PostStop method
                Assert.True(repo.Disposed);
            }
            public void RepositoryActor_should_dispose_repo_on_shutdown()
            {
                var repo      = new FooRepository();
                var repoActor = Sys.ActorOf(Props.Create(() => new RepositoryActor(repo)));

                // assert repo has not been disposed
                Assert.False(repo.Disposed);

                Sys.Stop(repoActor);

                Thread.Sleep(TimeSpan.FromSeconds(1));

                // assert repo has now been disposed by RepositoryActor's PostStop method
                Assert.True(repo.Disposed);
            }
        public void CreateTest_ShouldCreateNewGuidWhichIsNotMinusOne()
        {
            IFooRepository repository = new FooRepository(MockDbFactory);

            var foo = new Foo
            {
                Id   = 123456,
                Name = "random"
            };

            var result = repository.Create(foo);

            Assert.AreNotEqual(123456, result);
            Assert.AreNotEqual(-1, result);
        }
 public InsideTransactionsTests()
 {
     fooRepository = new FooRepository(UnitOfWork);
     fixture = new Fixture();
 }
        public TransactionAttributeTests()
        {
            var fooEntityRepository = new FooRepository(UnitOfWork);

            container = new WindsorContainer().Install(new FooWindsorInstaller(fooEntityRepository));

            var sessionFactoryStub = MockRepository.GenerateStub<ISessionFactory>();
            sessionFactoryStub.Stub(x => x.GetCurrentSession()).Return(UnitOfWorkSession);
            NHibernateConfiguration.SessionFactory = sessionFactoryStub;
        }
Пример #18
0
        static void Main(string[] args)
        {
            //a unit of work is created
            using (var uow = UnitOfWorkFactory.Get())
            {
                //get an instance of a repo
                var repo = new FooRepository();

                var entity = repo.Get(uow, 2);

                //no committing is necessary on a SELECT
            }

            //let's save something
            using (var uow = UnitOfWorkFactory.Get())
            {
                var repo = new FooRepository();

                var entity = repo.Get(uow, 0) ?? new MyDbEntity();

                entity.Name = "Minnie Mouse";

                repo.Save(uow, entity);

                //we need to commit our changes or else it won't be saved!
                //if the code throws before this point, the entire transaction is rolled back
                uow.Commit();
            }

            //let's delete something
            using (var uow = UnitOfWorkFactory.Get())
            {
                var repo = new FooRepository();

                var entity = repo.Get(uow, 2);

                if (entity != null)
                {
                    repo.Delete(uow, entity);

                    //if we don't make it here or this is never called, the transaction gets rolled back
                    uow.Commit();
                }
            }

            //the best part of a UOW pattern is that you can do many things across more than one repo and have them linked as a single transaction
            using (var uow = UnitOfWorkFactory.Get())
            {
                //look, we need to manipulate TWO repos in the same transaction
                var fooRepo = new FooRepository();
                var barRepo = new BarRepository();

                var entity = fooRepo.Get(uow, 0) ?? new MyDbEntity();

                entity.Name = "Minnie Mouse";

                fooRepo.Save(uow, entity);

                var phoneNumber = new MyOtherDbEntity
                {
                    PhoneNumber = "5558675309"
                };

                barRepo.Save(uow, phoneNumber);

                //we need to commit our changes or else it won't be saved!
                //if the code throws before this point, the entire transaction is rolled back
                uow.Commit();
            }
        }