Пример #1
0
        public void TestThatRemoveInactiveChildrenRemovesInactiveChildren()
        {
            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 foodGroup = new MyFoodGroup
            {
                Children = new List <IFoodGroup>
                {
                    activeFoodGroup1,
                    inactiveFoodGroup1,
                    activeFoodGroup2,
                    inactiveFoodGroup2,
                    activeFoodGroup3,
                    inactiveFoodGroup3
                }
            };

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

            foodGroup.RemoveInactiveChildren();
            Assert.That(foodGroup.Children, Is.Not.Null);
            Assert.That(foodGroup.Children, Is.Not.Empty);
            Assert.That(foodGroup.Children.Count(), Is.EqualTo(3));
            Assert.That(foodGroup.Children.Contains(activeFoodGroup1), Is.True);
            Assert.That(foodGroup.Children.Contains(activeFoodGroup2), Is.True);
            Assert.That(foodGroup.Children.Contains(activeFoodGroup2), Is.True);
        }
Пример #2
0
        public void TestThatRemoveInactiveChildrenDoesNotCallRemoveInactiveChildrenOnInactiveChildrens()
        {
            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 foodGroup = new MyFoodGroup
            {
                Children = new List <IFoodGroup>
                {
                    activeFoodGroup1,
                    inactiveFoodGroup1,
                    activeFoodGroup2,
                    inactiveFoodGroup2,
                    activeFoodGroup3,
                    inactiveFoodGroup3
                }
            };

            Assert.That(foodGroup, Is.Not.Null);
            Assert.That(foodGroup.Children, Is.Not.Null);
            Assert.That(foodGroup.Children, Is.Not.Empty);

            foodGroup.RemoveInactiveChildren();

            inactiveFoodGroup1.AssertWasNotCalled(m => m.RemoveInactiveChildren());
            inactiveFoodGroup2.AssertWasNotCalled(m => m.RemoveInactiveChildren());
            inactiveFoodGroup3.AssertWasNotCalled(m => m.RemoveInactiveChildren());
        }
Пример #3
0
        public void TestThatChildrenSetterThrowsArgumentNullExceptionWhenValueIsNull()
        {
            var foodGroup = new MyFoodGroup();

            Assert.That(foodGroup, Is.Not.Null);

            var exception = Assert.Throws <ArgumentNullException>(() => foodGroup.Children = null);

            Assert.That(exception, Is.Not.Null);
            Assert.That(exception.ParamName, Is.Not.Null);
            Assert.That(exception.ParamName, Is.Not.Empty);
            Assert.That(exception.ParamName, Is.EqualTo("value"));
            Assert.That(exception.InnerException, Is.Null);
        }
Пример #4
0
        public void TestThatTranslateDoesNotCallTranslateOnEndChildrenWhichHasBeenTranslated()
        {
            var cultureInfo = CultureInfo.CurrentUICulture;

            var untranslatedFoodGroup1 = MockRepository.GenerateMock <IFoodGroup>();

            untranslatedFoodGroup1.Stub(m => m.Identifier)
            .Return(Guid.NewGuid())
            .Repeat.Any();
            untranslatedFoodGroup1.Stub(m => m.Translation)
            .Return(null)
            .Repeat.Any();
            var untranslatedFoodGroup2 = MockRepository.GenerateMock <IFoodGroup>();

            untranslatedFoodGroup2.Stub(m => m.Identifier)
            .Return(Guid.NewGuid())
            .Repeat.Any();
            untranslatedFoodGroup2.Stub(m => m.Translation)
            .Return(null)
            .Repeat.Any();
            var untranslatedFoodGroup3 = MockRepository.GenerateMock <IFoodGroup>();

            untranslatedFoodGroup3.Stub(m => m.Identifier)
            .Return(Guid.NewGuid())
            .Repeat.Any();
            untranslatedFoodGroup3.Stub(m => m.Translation)
            .Return(null)
            .Repeat.Any();
            var translatedFoodGroup1Identifier = Guid.NewGuid();
            var translatedFoodGroup1           = MockRepository.GenerateMock <IFoodGroup>();

            translatedFoodGroup1.Stub(m => m.Identifier)
            .Return(translatedFoodGroup1Identifier)
            .Repeat.Any();
            translatedFoodGroup1.Stub(m => m.Translation)
            .Return(DomainObjectMockBuilder.BuildTranslationMock(translatedFoodGroup1Identifier))
            .Repeat.Any();
            var translatedFoodGroup2Identifier = Guid.NewGuid();
            var translatedFoodGroup2           = MockRepository.GenerateMock <IFoodGroup>();

            translatedFoodGroup2.Stub(m => m.Identifier)
            .Return(translatedFoodGroup2Identifier)
            .Repeat.Any();
            translatedFoodGroup2.Stub(m => m.Translation)
            .Return(DomainObjectMockBuilder.BuildTranslationMock(translatedFoodGroup2Identifier))
            .Repeat.Any();
            var translatedFoodGroup3Identifier = Guid.NewGuid();
            var translatedFoodGroup3           = MockRepository.GenerateMock <IFoodGroup>();

            translatedFoodGroup3.Stub(m => m.Identifier)
            .Return(translatedFoodGroup3Identifier)
            .Repeat.Any();
            translatedFoodGroup3.Stub(m => m.Translation)
            .Return(DomainObjectMockBuilder.BuildTranslationMock(translatedFoodGroup3Identifier))
            .Repeat.Any();

            var foodGroup = new MyFoodGroup
            {
                Children = new List <IFoodGroup>
                {
                    untranslatedFoodGroup1,
                    translatedFoodGroup1,
                    untranslatedFoodGroup2,
                    translatedFoodGroup2,
                    untranslatedFoodGroup3,
                    translatedFoodGroup3
                }
            };

            Assert.That(foodGroup, Is.Not.Null);
            Assert.That(foodGroup.Children, Is.Not.Null);
            Assert.That(foodGroup.Children, Is.Not.Empty);

            foodGroup.Translate(cultureInfo);

            translatedFoodGroup1.AssertWasNotCalled(m => m.Translate(Arg <CultureInfo> .Is.Anything));
            translatedFoodGroup2.AssertWasNotCalled(m => m.Translate(Arg <CultureInfo> .Is.Anything));
            translatedFoodGroup3.AssertWasNotCalled(m => m.Translate(Arg <CultureInfo> .Is.Anything));
        }