public void TestEditingNonExistentActivityRecord()
        {
            // Arrange
            bool result = false;
            IAnimalActivityManager manager =
                new AnimalActivityManager(_fakeActivityAccessor);
            AnimalActivity nonExistentRecord = new AnimalActivity()
            {
                AnimalActivityId     = 3,
                AnimalID             = 6,
                AnimalActivityTypeID = "Feeding"
            };
            AnimalActivity updatedRecord = new AnimalActivity()
            {
                AnimalActivityId     = 1,
                AnimalID             = 4,
                AnimalActivityTypeID = "Play"
            };

            // Act
            result = manager.EditExistingAnimalActivityRecord(
                nonExistentRecord, updatedRecord);

            // Assert
            Assert.IsFalse(result);
        }
        public void TestEditingExistingActivityRecord()
        {
            // Arrange
            bool result = false;
            IAnimalActivityManager manager =
                new AnimalActivityManager(_fakeActivityAccessor);
            AnimalActivity existingRecord = new AnimalActivity()
            {
                AnimalActivityId     = 1,
                AnimalID             = 5,
                AnimalActivityTypeID = "Play"
            };
            AnimalActivity updatedRecord = new AnimalActivity()
            {
                AnimalActivityId     = 1,
                AnimalID             = 4,
                AnimalActivityTypeID = "Play"
            };

            // Act
            manager.AddAnimalActivityRecord(existingRecord);
            result = manager.EditExistingAnimalActivityRecord(
                existingRecord, updatedRecord);

            // Assert
            Assert.IsTrue(result);
        }
        public void TestRetrieveAllAnimalActivityTypes()
        {
            // Arrange
            IAnimalActivityManager manager =
                new AnimalActivityManager(_fakeActivityAccessor);
            List <AnimalActivityType> activityTypes;

            // Act
            activityTypes = manager.RetrieveAllAnimalActivityTypes();

            // Assert
            Assert.AreEqual(activityTypes.Count, 2);
        }
        public void TestDeletingAnimalActivityTypeRecord()
        {
            // Arrange
            IAnimalActivityManager manager = new AnimalActivityManager(_fakeActivityAccessor);
            bool result = false;
            AnimalActivityType activityType = new AnimalActivityType()
            {
                ActivityTypeId = "Feeding",
                Description    = "This is a description"
            };

            // Act
            result = manager.AddAnimalActivityType(activityType);

            // Assert
            Assert.IsTrue(result);
        }
        public void TestRetrieveAnimalActivityByActivityType()
        {
            // Arrange
            IAnimalActivityManager manager =
                new AnimalActivityManager(_fakeActivityAccessor);
            string validActivityType   = "Play";
            string invalidActivityType = "the";
            List <AnimalActivity> validList;
            List <AnimalActivity> invalidList;

            // Act
            validList   = manager.RetrieveAnimalActivitiesByActivityType(validActivityType);
            invalidList = manager.RetrieveAnimalActivitiesByActivityType(invalidActivityType);

            // Assert
            Assert.AreEqual(validList.Count, 2);
            Assert.AreEqual(invalidList.Count, 0);
        }
        public void TestAddingAnimalActivityRecord()
        {
            // Arrange
            IAnimalActivityManager manager =
                new AnimalActivityManager(_fakeActivityAccessor);
            bool           result   = false;
            AnimalActivity activity = new AnimalActivity()
            {
                AnimalActivityId     = 1000,
                AnimalID             = 1,
                UserID               = 1,
                AnimalActivityTypeID = "Play"
            };

            // Act
            result = manager.AddAnimalActivityRecord(activity);

            // Assert
            Assert.IsTrue(result);
        }
        public void TestDeleteNonExistentAnimalActivityRecord()
        {
            // Arrange
            IAnimalActivityManager manager =
                new AnimalActivityManager(_fakeActivityAccessor);
            bool           result         = false;
            AnimalActivity animalActivity = new AnimalActivity()
            {
                AnimalActivityId     = 1,
                AnimalID             = 1,
                UserID               = 10000,
                AnimalActivityTypeID = "Feeding",
                ActivityDateTime     = DateTime.Now,
                Description          = "test"
            };

            // Act
            result = manager.DeleteAnimalActivityRecord(animalActivity);

            // Assert
            Assert.IsFalse(result);
        }