public void PetaPocoDataContext_Constructor_Initialises_Database_Field()
        {
            //Arrange
            var mockCache = new Mock<ICacheProvider>();

            //Act
            var context = new PetaPocoDataContext(connectionStringName, mockCache.Object);

            //Assert
            Assert.IsInstanceOf<Database>(Util.GetPrivateMember<PetaPocoDataContext, Database>(context, "_database"));
        }
        public void PetaPocoDataContext_GetRepository_Returns_Repository()
        {
            //Arrange
            var mockCache = new Mock<ICacheProvider>();
            var context = new PetaPocoDataContext(connectionStringName, mockCache.Object);

            //Act
            var repo = context.GetRepository<Dog>();

            //Assert
            Assert.IsInstanceOf<IRepository<Dog>>(repo);
        }
Exemple #3
0
        public void PetaPocoDataContext_RollbackTransaction_Decreases_Database_Transaction_Count()
        {
            //Arrange
            const int transactionDepth = 2;
            var       context          = new PetaPocoDataContext(connectionStringName);
            Database  db = Util.GetPrivateMember <PetaPocoDataContext, Database>(context, "_database");

            Util.SetPrivateMember(db, "_transactionDepth", transactionDepth);

            //Act
            context.RollbackTransaction();

            //Assert
            Assert.AreEqual(transactionDepth - 1, Util.GetPrivateMember <Database, int>(db, "_transactionDepth"));
        }
Exemple #4
0
        public void PetaPocoDataContext_Commit_Sets_Database_TransactionCancelled_False()
        {
            //Arrange
            const int transactionDepth = 2;
            var       context          = new PetaPocoDataContext(connectionStringName);
            Database  db = Util.GetPrivateMember <PetaPocoDataContext, Database>(context, "_database");

            Util.SetPrivateMember(db, "_transactionDepth", transactionDepth);

            //Act
            context.Commit();

            //Assert
            Assert.AreEqual(false, Util.GetPrivateMember <Database, bool>(db, "_transactionCancelled"));
        }
        public void PetaPoco_Get_Returns_All_Items(int count)
        {
            // Arrange
            DataUtil.SetUpDatabase(count);

            IEnumerable <Dog> dogs;

            using (var dataContext = new PetaPocoDataContext(ConnectionStringName))
            {
                IRepository <Dog> dogRepository = dataContext.GetRepository <Dog>();

                // Act
                dogs = dogRepository.Get();
            }

            // Assert
            Assert.AreEqual(count, dogs.Count());
        }
        public void PetaPoco_GetAll_Overload_Returns_Page_Of_Items(int pageIndex, int pageSize)
        {
            // Arrange
            DataUtil.SetUpDatabase(Constants.PAGE_TotalCount);

            IPagedList <Dog> dogs;

            using (var dataContext = new PetaPocoDataContext(ConnectionStringName))
            {
                IRepository <Dog> dogRepository = dataContext.GetRepository <Dog>();

                // Act
                dogs = dogRepository.GetPage(pageIndex, pageSize);
            }

            // Assert
            Assert.AreEqual(pageSize, dogs.PageSize);
        }
Exemple #7
0
        public void PetaPoco_Find_Returns_Correct_Rows(int count, string sqlCondition, object arg)
        {
            //Arrange
            DataUtil.SetUpDatabase(Constants.PETAPOCO_RecordCount);

            IEnumerable <Dog> dogs;

            using (var dataContext = new PetaPocoDataContext(ConnectionStringName))
            {
                IRepository <Dog> dogRepository = dataContext.GetRepository <Dog>();

                //Act
                dogs = dogRepository.Find(sqlCondition, arg);
            }

            //Assert
            Assert.AreEqual(count, dogs.Count());
        }
Exemple #8
0
        public void PetaPoco_Delete_Overload_Deletes_Item()
        {
            //Arrange
            DataUtil.SetUpDatabase(Constants.PETAPOCO_RecordCount);

            using (var dataContext = new PetaPocoDataContext(ConnectionStringName))
            {
                IRepository <Dog> dogRepository = dataContext.GetRepository <Dog>();

                //Act
                dogRepository.Delete("WHERE ID = @0", Constants.PETAPOCO_DeleteDogId);
            }

            //Assert
            int actualCount = DataUtil.GetRecordCount(Constants.PETAPOCO_DatabaseName,
                                                      Constants.PETAPOCO_DogTableName);

            Assert.AreEqual(Constants.PETAPOCO_RecordCount - 1, actualCount);
        }
Exemple #9
0
        public void PetaPoco_GetById_Returns_Single_Item_Using_FluentMapper()
        {
            //Arrange
            DataUtil.SetUpDatabase(Constants.PETAPOCO_RecordCount);

            Dog dog;

            using (var dataContext = new PetaPocoDataContext(ConnectionStringName, String.Empty, _mappers))
            {
                IRepository <Dog> dogRepository = dataContext.GetRepository <Dog>();

                //Act
                dog = dogRepository.GetById(Constants.PETAPOCO_ValidDogId);
            }

            //Assert
            Assert.IsInstanceOf <Dog>(dog);
            Assert.AreEqual(Constants.PETAPOCO_ValidDogAge, dog.Age);
            Assert.AreEqual(Constants.PETAPOCO_ValidDogName, dog.Name);
        }
        public void PetaPoco_Add_Inserts_Item()
        {
            //Arrange
            DataUtil.SetUpDatabase(Constants.PETAPOCO_RecordCount);

            var dog = new Dog
                          {
                              Age = Constants.PETAPOCO_InsertDogAge,
                              Name = Constants.PETAPOCO_InsertDogName
                          };

            using (var dataContext = new PetaPocoDataContext(ConnectionStringName))
            {
                IRepository<Dog> dogRepository = dataContext.GetRepository<Dog>();

                //Act
                dogRepository.Insert(dog);
            }

            //Assert
            int actualCount = DataUtil.GetRecordCount(Constants.PETAPOCO_DatabaseName,
                                                      Constants.PETAPOCO_DogTableName);
            Assert.AreEqual(Constants.PETAPOCO_RecordCount + 1, actualCount);
        }
        public void PetaPocoDataContext_Constructor_Initialises_Database_Property_With_Correct_Connection()
        {
            //Arrange

            //Act
            var context = new PetaPocoDataContext(connectionStringName);

            //Assert
            Database db = Util.GetPrivateMember<PetaPocoDataContext, Database>(context, "_database");
            string connectionString = ConfigurationManager.ConnectionStrings[connectionStringName].ConnectionString;

            Assert.AreEqual(connectionString, Util.GetPrivateMember<Database, string>(db, "_connectionString"));
        }
        public void PetaPoco_Find_Returns_Correct_Rows(int count, string sqlCondition, object arg)
        {
            //Arrange
            DataUtil.SetUpDatabase(Constants.PETAPOCO_RecordCount);

            IEnumerable<Dog> dogs;
            using (var dataContext = new PetaPocoDataContext(ConnectionStringName))
            {
                IRepository<Dog> dogRepository = dataContext.GetRepository<Dog>();

                //Act
                dogs = dogRepository.Find(sqlCondition, arg);
            }

            //Assert
            Assert.AreEqual(count, dogs.Count());
        }
        public void PetaPocoDataContext_RollbackTransaction_Sets_Database_TransactionCancelled_True()
        {
            //Arrange
            const int transactionDepth = 2;
            var context = new PetaPocoDataContext(connectionStringName);
            Database db = Util.GetPrivateMember<PetaPocoDataContext, Database>(context, "_database");
            Util.SetPrivateMember(db, "_transactionDepth", transactionDepth);

            //Act
            context.RollbackTransaction();

            //Assert
            Assert.AreEqual(true, Util.GetPrivateMember<Database, bool>(db, "_transactionCancelled"));
        }
        public void PetaPocoDataContext_RollbackTransaction_Decreases_Database_Transaction_Count()
        {
            //Arrange
            const int transactionDepth = 2;
            var context = new PetaPocoDataContext(connectionStringName);
            Database db = Util.GetPrivateMember<PetaPocoDataContext, Database>(context, "_database");
            Util.SetPrivateMember(db, "_transactionDepth", transactionDepth);

            //Act
            context.RollbackTransaction();

            //Assert
            Assert.AreEqual(transactionDepth - 1, Util.GetPrivateMember<Database, int>(db, "_transactionDepth"));
        }
        public void PetaPocoDataContext_GetRepository_Sets_Repository_Database_Property()
        {
            //Arrange
            var context = new PetaPocoDataContext(connectionStringName);

            //Act
            var repo = (PetaPocoRepository<Dog>)context.GetRepository<Dog>();

            //Assert
            Assert.IsInstanceOf<Database>(Util.GetPrivateMember<PetaPocoRepository<Dog>, Database>(repo, "_database"));
        }
        public void PetaPocoDataContext_GetRepository_Returns_Repository()
        {
            //Arrange
            var context = new PetaPocoDataContext(connectionStringName);

            //Act
            var repo = context.GetRepository<Dog>();

            //Assert
            Assert.IsInstanceOf<IRepository<Dog>>(repo);
            Assert.IsInstanceOf<PetaPocoRepository<Dog>>(repo);
        }
        public void PetaPoco_Update_Overload_Updates_Item()
        {
            //Arrange
            DataUtil.SetUpDatabase(Constants.PETAPOCO_RecordCount);

            //Act
            using (var dataContext = new PetaPocoDataContext(ConnectionStringName))
            {
                IRepository<Dog> dogRepository = dataContext.GetRepository<Dog>();

                //Act
                dogRepository.Update("SET Age=@1, Name=@2 WHERE ID=@0", Constants.PETAPOCO_UpdateDogId, Constants.PETAPOCO_UpdateDogAge, Constants.PETAPOCO_UpdateDogName);
            }

            //Assert
            DataTable table = DataUtil.GetTable(Constants.PETAPOCO_DatabaseName, Constants.PETAPOCO_DogTableName);

            Assert.AreEqual(Constants.PETAPOCO_RecordCount, table.Rows.Count);

            foreach (DataRow row in table.Rows)
            {
                if ((int)row["ID"] == Constants.PETAPOCO_UpdateDogId)
                {
                    Assert.AreEqual(row["Age"], Constants.PETAPOCO_UpdateDogAge);
                    Assert.AreEqual(row["Name"], Constants.PETAPOCO_UpdateDogName);
                }
            }
        }
        public void PetaPocoDataContext_Constructor_Initialises_Database_Property()
        {
            //Arrange

            //Act
            var context = new PetaPocoDataContext(connectionStringName);

            //Assert
            Assert.IsInstanceOf<Database>(Util.GetPrivateMember<PetaPocoDataContext, Database>(context, "_database"));
        }
        public void PetaPoco_GetById_Returns_Single_Item()
        {
            //Arrange
            DataUtil.SetUpDatabase(Constants.PETAPOCO_RecordCount);

            Dog dog;
            using (var dataContext = new PetaPocoDataContext(ConnectionStringName))
            {
                IRepository<Dog> dogRepository = dataContext.GetRepository<Dog>();

                //Act
                dog = dogRepository.GetById(Constants.PETAPOCO_ValidDogId);
            }

            //Assert
            Assert.IsInstanceOf<Dog>(dog);
            Assert.AreEqual(Constants.PETAPOCO_ValidDogAge, dog.Age);
            Assert.AreEqual(Constants.PETAPOCO_ValidDogName, dog.Name);
        }
        public void PetaPoco_GetAll_Overload_Returns_Page_Of_Items(int pageIndex, int pageSize)
        {
            //Arrange
            DataUtil.SetUpDatabase(Constants.PAGE_TotalCount);

            IPagedList<Dog> dogs;
            using (var dataContext = new PetaPocoDataContext(ConnectionStringName))
            {
                IRepository<Dog> dogRepository = dataContext.GetRepository<Dog>();

                //Act
                dogs = dogRepository.GetPage(pageIndex, pageSize);
            }


            //Assert
            Assert.AreEqual(pageSize, dogs.PageSize);
        }
        public void PetaPoco_Get_Returns_All_Items(int count)
        {
            //Arrange
            DataUtil.SetUpDatabase(count);

            IEnumerable<Dog> dogs;
            using (var dataContext = new PetaPocoDataContext(ConnectionStringName))
            {
                IRepository<Dog> dogRepository = dataContext.GetRepository<Dog>();

                //Act
                dogs = dogRepository.Get();
            }


            //Assert
            Assert.AreEqual(count, dogs.Count());
        }
        public void PetaPocoDataContext_Constructor_Initialises_Mapper_Property()
        {
            //Arrange

            //Act
            var context = new PetaPocoDataContext(connectionStringName);

            //Assert
            Assert.IsInstanceOf<IMapper>(Util.GetPrivateMember<PetaPocoDataContext, IMapper>(context, "_mapper"));
            Assert.IsInstanceOf<PetaPocoMapper>(Util.GetPrivateMember<PetaPocoDataContext, PetaPocoMapper>(context, "_mapper"));
        }
        public void PetaPoco_Delete_Overload_Deletes_Item()
        {
            //Arrange
            DataUtil.SetUpDatabase(Constants.PETAPOCO_RecordCount);

            using (var dataContext = new PetaPocoDataContext(ConnectionStringName))
            {
                IRepository<Dog> dogRepository = dataContext.GetRepository<Dog>();

                //Act
                dogRepository.Delete("WHERE ID = @0", Constants.PETAPOCO_DeleteDogId);
            }

            //Assert
            int actualCount = DataUtil.GetRecordCount(Constants.PETAPOCO_DatabaseName,
                                                      Constants.PETAPOCO_DogTableName);
            Assert.AreEqual(Constants.PETAPOCO_RecordCount - 1, actualCount);
        }