Esempio n. 1
0
        public void TestThatRemoveInactiveFoodGroupsRemovesInactiveFoodGroups()
        {
            var activeFoodGroup1 = MockRepository.GenerateMock <IFoodGroup>();

            activeFoodGroup1.Stub(m => m.IsActive)
            .Return(true)
            .Repeat.Any();
            var activeFoodGroup2 = MockRepository.GenerateMock <IFoodGroup>();

            activeFoodGroup2.Stub(m => m.IsActive)
            .Return(true)
            .Repeat.Any();
            var activeFoodGroup3 = MockRepository.GenerateMock <IFoodGroup>();

            activeFoodGroup3.Stub(m => m.IsActive)
            .Return(true)
            .Repeat.Any();
            var inactiveFoodGroup1 = MockRepository.GenerateMock <IFoodGroup>();

            inactiveFoodGroup1.Stub(m => m.IsActive)
            .Return(false)
            .Repeat.Any();
            var inactiveFoodGroup2 = MockRepository.GenerateMock <IFoodGroup>();

            inactiveFoodGroup2.Stub(m => m.IsActive)
            .Return(false)
            .Repeat.Any();
            var inactiveFoodGroup3 = MockRepository.GenerateMock <IFoodGroup>();

            inactiveFoodGroup3.Stub(m => m.IsActive)
            .Return(false)
            .Repeat.Any();

            var dataProviderMock = DomainObjectMockBuilder.BuildDataProviderMock();

            var foodGroupCollection = new FoodGroupCollection(new List <IFoodGroup> {
                activeFoodGroup1, inactiveFoodGroup1, activeFoodGroup2, inactiveFoodGroup2, activeFoodGroup3, inactiveFoodGroup3
            }, dataProviderMock);

            Assert.That(foodGroupCollection, Is.Not.Null);
            Assert.That(foodGroupCollection, Is.Not.Empty);
            Assert.That(foodGroupCollection.Count, Is.EqualTo(6));

            foodGroupCollection.RemoveInactiveFoodGroups();
            Assert.That(foodGroupCollection, Is.Not.Null);
            Assert.That(foodGroupCollection, Is.Not.Empty);
            Assert.That(foodGroupCollection.Count, Is.EqualTo(3));
            Assert.That(foodGroupCollection.Contains(activeFoodGroup1), Is.True);
            Assert.That(foodGroupCollection.Contains(activeFoodGroup2), Is.True);
            Assert.That(foodGroupCollection.Contains(activeFoodGroup3), Is.True);
        }
Esempio n. 2
0
        public void TestThatConstructorInitializeFoodGroupCollection()
        {
            var foodGroupMockCollection = DomainObjectMockBuilder.BuildFoodGroupMockCollection().ToArray();
            var dataProviderMock        = DomainObjectMockBuilder.BuildDataProviderMock();

            var foodGroupCollection = new FoodGroupCollection(foodGroupMockCollection, dataProviderMock);

            Assert.That(foodGroupCollection, Is.Not.Null);
            Assert.That(foodGroupCollection.DataProvider, Is.Not.Null);
            Assert.That(foodGroupCollection.DataProvider, Is.EqualTo(dataProviderMock));
            foreach (var foodGroupMock in foodGroupMockCollection)
            {
                Assert.That(foodGroupCollection.Contains(foodGroupMock), Is.True);
            }
        }
Esempio n. 3
0
        public void TestThatRemoveInactiveFoodGroupsDoesNotCallRemoveInactiveChildrenOnEachInactiveFoodGroup()
        {
            var activeFoodGroup1 = MockRepository.GenerateMock <IFoodGroup>();

            activeFoodGroup1.Stub(m => m.IsActive)
            .Return(true)
            .Repeat.Any();
            var activeFoodGroup2 = MockRepository.GenerateMock <IFoodGroup>();

            activeFoodGroup2.Stub(m => m.IsActive)
            .Return(true)
            .Repeat.Any();
            var activeFoodGroup3 = MockRepository.GenerateMock <IFoodGroup>();

            activeFoodGroup3.Stub(m => m.IsActive)
            .Return(true)
            .Repeat.Any();
            var inactiveFoodGroup1 = MockRepository.GenerateMock <IFoodGroup>();

            inactiveFoodGroup1.Stub(m => m.IsActive)
            .Return(false)
            .Repeat.Any();
            var inactiveFoodGroup2 = MockRepository.GenerateMock <IFoodGroup>();

            inactiveFoodGroup2.Stub(m => m.IsActive)
            .Return(false)
            .Repeat.Any();
            var inactiveFoodGroup3 = MockRepository.GenerateMock <IFoodGroup>();

            inactiveFoodGroup3.Stub(m => m.IsActive)
            .Return(false)
            .Repeat.Any();

            var dataProviderMock = DomainObjectMockBuilder.BuildDataProviderMock();

            var foodGroupCollection = new FoodGroupCollection(new List <IFoodGroup> {
                activeFoodGroup1, inactiveFoodGroup1, activeFoodGroup2, inactiveFoodGroup2, activeFoodGroup3, inactiveFoodGroup3
            }, dataProviderMock);

            Assert.That(foodGroupCollection, Is.Not.Null);
            Assert.That(foodGroupCollection, Is.Not.Empty);

            foodGroupCollection.RemoveInactiveFoodGroups();

            inactiveFoodGroup1.AssertWasNotCalled(m => m.RemoveInactiveChildren());
            inactiveFoodGroup2.AssertWasNotCalled(m => m.RemoveInactiveChildren());
            inactiveFoodGroup3.AssertWasNotCalled(m => m.RemoveInactiveChildren());
        }
Esempio n. 4
0
        /// <summary>
        /// Functionality which handles a query for getting the tree of food groups.
        /// </summary>
        /// <param name="query">Query for getting the tree of food groups.</param>
        /// <returns>Tree of food groups.</returns>
        public virtual TFoodGroupTreeView Query(FoodGroupTreeGetQuery query)
        {
            if (query == null)
            {
                throw new ArgumentNullException("query");
            }

            var translationInfo = _systemDataRepository.Get <ITranslationInfo>(query.TranslationInfoIdentifier);
            var dataProvider    = _systemDataRepository.DataProviderForFoodGroupsGet();
            var foodGroups      = _systemDataRepository.FoodGroupGetAllOnRoot()
                                  .Where(foodGroup => foodGroup.ForeignKeys != null && foodGroup.ForeignKeys.Any(foreignKey => foreignKey.DataProvider != null && foreignKey.DataProvider.Identifier == dataProvider.Identifier))
                                  .ToList();

            dataProvider.Translate(translationInfo.CultureInfo);

            var foodGroupCollection = new FoodGroupCollection(foodGroups, dataProvider);

            if (OnlyActive)
            {
                foodGroupCollection.RemoveInactiveFoodGroups();
            }

            return(_foodWasteObjectMapper.Map <IFoodGroupCollection, TFoodGroupTreeView>(foodGroupCollection, translationInfo.CultureInfo));
        }