public void TestGetAll_WhenEmpty()
        {
            var mockOfTogglesDbContext = new MockOfTogglesDbContext(new List <ToggleDbEntity>());
            var togglesReadRepository  = new TogglesReadRepository(mockOfTogglesDbContext.Object);

            IList <Toggle> result = togglesReadRepository.GetAll();

            Assert.IsTrue(result.Count == 0);
        }
        public void TestGetAll_WhenHasItems()
        {
            IList <ToggleDbEntity> mockedToggleDbEntities = this.CreateMockedToggleDbEntities();
            var mockOfTogglesDbContext = new MockOfTogglesDbContext(mockedToggleDbEntities);
            var togglesReadRepository  = new TogglesReadRepository(mockOfTogglesDbContext.Object);

            IList <Toggle> result = togglesReadRepository.GetAll();

            Assert.IsTrue(result.Count > 0);
        }
        private void TestActionReturnsTrueWhenEntityFound(Func <TogglesReadRepository, ToggleDbEntity, bool> testAction)
        {
            IList <ToggleDbEntity> mockedToggleDbEntities = this.CreateMockedToggleDbEntities();
            var            mockOfTogglesDbContext         = new MockOfTogglesDbContext(mockedToggleDbEntities);
            var            togglesReadRepository          = new TogglesReadRepository(mockOfTogglesDbContext.Object);
            ToggleDbEntity targetToggleDbEntity           = mockedToggleDbEntities.First();

            bool result = testAction(togglesReadRepository, targetToggleDbEntity);

            Assert.IsTrue(result);
        }
        private void TestActionReturnsFalseWhenEntityNotFound(
            Func <TogglesReadRepository, bool> testAction)
        {
            IList <ToggleDbEntity> mockedToggleDbEntities = this.CreateMockedToggleDbEntities();
            var mockOfTogglesDbContext = new MockOfTogglesDbContext(mockedToggleDbEntities);
            var togglesReadRepository  = new TogglesReadRepository(mockOfTogglesDbContext.Object);

            bool result = testAction(togglesReadRepository);

            Assert.IsFalse(result);
        }
        public void TestGetById()
        {
            IList <ToggleDbEntity> mockedToggleDbEntities = this.CreateMockedToggleDbEntities();
            var            mockOfTogglesDbContext         = new MockOfTogglesDbContext(mockedToggleDbEntities);
            var            togglesReadRepository          = new TogglesReadRepository(mockOfTogglesDbContext.Object);
            ToggleDbEntity targetToggleDbEntity           = mockedToggleDbEntities.First();

            Toggle result = togglesReadRepository.GetById(targetToggleDbEntity.Id);

            Assert.IsNotNull(result);
            Assert.IsTrue(result.Id == targetToggleDbEntity.Id && result.CodeName == targetToggleDbEntity.CodeName);
        }
        public void TestGetById_FailsWhenEntityNotFound()
        {
            IList <ToggleDbEntity> mockedToggleDbEntities = this.CreateMockedToggleDbEntities();
            var  mockOfTogglesDbContext = new MockOfTogglesDbContext(mockedToggleDbEntities);
            var  togglesReadRepository  = new TogglesReadRepository(mockOfTogglesDbContext.Object);
            Guid nonExistingToggleId    = Guid.NewGuid();

            TestDelegate action = () => togglesReadRepository.GetById(nonExistingToggleId);

            EntityNotFoundException exc = Assert.Throws <EntityNotFoundException>(action);

            Assert.IsTrue(exc.Message.Contains(nonExistingToggleId.ToString()));
        }