Пример #1
0
        public void TestThatTranslateDoesNotCallTranslateOnParentWhenParentIsNotNullAndHasBeenTranslated()
        {
            var cultureInfo = CultureInfo.CurrentUICulture;

            var parentFoodGroupIdentifier = Guid.NewGuid();
            var parentFoodGroupMock       = MockRepository.GenerateMock <IFoodGroup>();

            parentFoodGroupMock.Stub(m => m.Identifier)
            .Return(parentFoodGroupIdentifier)
            .Repeat.Any();
            parentFoodGroupMock.Stub(m => m.Translation)
            .Return(DomainObjectMockBuilder.BuildTranslationMock(parentFoodGroupIdentifier))
            .Repeat.Any();

            var foodGroup = new FoodGroup
            {
                Parent = parentFoodGroupMock
            };

            Assert.That(foodGroup, Is.Not.Null);
            Assert.That(foodGroup.Parent, Is.Not.Null);
            Assert.That(foodGroup.Parent, Is.EqualTo(parentFoodGroupMock));
            Assert.That(foodGroup.Parent.Translation, Is.Not.Null);

            foodGroup.Translate(cultureInfo);

            parentFoodGroupMock.AssertWasNotCalled(m => m.Translate(Arg <CultureInfo> .Is.Anything));
        }
Пример #2
0
        public void TestThatTranslateSetsBodyTranslationToNullWhenBodyTranslationIdentifierIsNotNullAndTranslationWasNotFound()
        {
            var fixture = new Fixture();
            var bodyTranslationIdentifier = Guid.NewGuid();

            var staticText = new StaticText(fixture.Create <StaticTextType>(), Guid.NewGuid(), bodyTranslationIdentifier);

            Assert.That(staticText, Is.Not.Null);
            Assert.That(staticText.BodyTranslationIdentifier, Is.Not.Null);
            Assert.That(staticText.BodyTranslationIdentifier.HasValue, Is.True);
            // ReSharper disable PossibleInvalidOperationException
            Assert.That(staticText.BodyTranslationIdentifier.Value, Is.EqualTo(bodyTranslationIdentifier));
            // ReSharper restore PossibleInvalidOperationException
            Assert.That(staticText.BodyTranslation, Is.Null);
            Assert.That(staticText.BodyTranslations, Is.Not.Null);
            Assert.That(staticText.BodyTranslations, Is.Empty);

            var translationMock = DomainObjectMockBuilder.BuildTranslationMock(Guid.NewGuid());

            staticText.TranslationAdd(translationMock);
            Assert.That(staticText.BodyTranslation, Is.Null);
            Assert.That(staticText.BodyTranslations, Is.Not.Null);
            Assert.That(staticText.BodyTranslations, Is.Empty);

            staticText.Translate(translationMock.TranslationInfo.CultureInfo);
            Assert.That(staticText.BodyTranslation, Is.Null);
        }
Пример #3
0
        public void TestThatTranslationAddAddsTranslation()
        {
            var foodItem = new FoodItem(DomainObjectMockBuilder.BuildFoodGroupMock())
            {
                Identifier = Guid.NewGuid()
            };

            Assert.That(foodItem, Is.Not.Null);
            Assert.That(foodItem.Identifier, Is.Not.Null);
            Assert.That(foodItem.Identifier.HasValue, Is.True);
            Assert.That(foodItem.Translations, Is.Not.Null);
            Assert.That(foodItem.Translations, Is.Empty);

            // ReSharper disable PossibleInvalidOperationException
            var translationMock = DomainObjectMockBuilder.BuildTranslationMock(foodItem.Identifier.Value);

            // ReSharper restore PossibleInvalidOperationException
            Assert.That(translationMock, Is.Not.Null);

            foodItem.TranslationAdd(translationMock);
            Assert.That(foodItem.Translations, Is.Not.Null);
            Assert.That(foodItem.Translations, Is.Not.Empty);
            Assert.That(foodItem.Translations.Count(), Is.EqualTo(1));
            Assert.That(foodItem.Translations.Contains(translationMock), Is.True);
        }
Пример #4
0
        public void TestThatTranslateSetsDataSourceStatement()
        {
            var fixture = new Fixture();
            var dataSourceStatementIdentifier = Guid.NewGuid();

            var dataProvider = new DataProvider(fixture.Create <string>(), fixture.Create <bool>(), dataSourceStatementIdentifier);

            Assert.That(dataProvider, Is.Not.Null);
            Assert.That(dataProvider.DataSourceStatementIdentifier, Is.EqualTo(dataSourceStatementIdentifier));
            Assert.That(dataProvider.DataSourceStatement, Is.Null);
            Assert.That(dataProvider.DataSourceStatements, Is.Not.Null);
            Assert.That(dataProvider.DataSourceStatements, Is.Empty);

            var translationMock = DomainObjectMockBuilder.BuildTranslationMock(dataSourceStatementIdentifier);

            dataProvider.TranslationAdd(translationMock);
            Assert.That(dataProvider.DataSourceStatementIdentifier, Is.EqualTo(dataSourceStatementIdentifier));
            Assert.That(dataProvider.DataSourceStatement, Is.Null);
            Assert.That(dataProvider.DataSourceStatements, Is.Not.Null);
            Assert.That(dataProvider.DataSourceStatements, Is.Not.Empty);

            dataProvider.Translate(translationMock.TranslationInfo.CultureInfo);
            Assert.That(dataProvider.DataSourceStatement, Is.Not.Null);
            Assert.That(dataProvider.DataSourceStatement, Is.EqualTo(translationMock));
        }
        public void TestThatTranslationAddAddsTranslation()
        {
            var identifier   = Guid.NewGuid();
            var translatable = new MyTranslatable
            {
                Identifier = identifier
            };

            Assert.That(translatable, Is.Not.Null);
            Assert.That(translatable.Translations, Is.Not.Null);
            Assert.That(translatable.Translations, Is.Empty);

            var translationMock = DomainObjectMockBuilder.BuildTranslationMock(identifier);

            translatable.TranslationAdd(translationMock);
            Assert.That(translatable.Translations, Is.Not.Null);
            Assert.That(translatable.Translations, Is.Not.Empty);
            Assert.That(translatable.Translations.Contains(translationMock), Is.True);
        }
Пример #6
0
        public void TestThatTranslateSetsTranslationToNull()
        {
            var fixture = new Fixture();
            var subjectTranslationIdentifier = Guid.NewGuid();

            var staticText = new StaticText(fixture.Create <StaticTextType>(), subjectTranslationIdentifier);

            Assert.That(staticText, Is.Not.Null);
            Assert.That(staticText.Translation, Is.Null);
            Assert.That(staticText.Translations, Is.Not.Null);
            Assert.That(staticText.Translations, Is.Empty);

            var translationMock = DomainObjectMockBuilder.BuildTranslationMock(subjectTranslationIdentifier);

            staticText.TranslationAdd(translationMock);
            Assert.That(staticText.Translation, Is.Null);
            Assert.That(staticText.Translations, Is.Not.Null);
            Assert.That(staticText.Translations, Is.Not.Empty);

            staticText.Translate(translationMock.TranslationInfo.CultureInfo);
            Assert.That(staticText.Translation, Is.Null);
        }
Пример #7
0
        public void TestThatTranslateSetsBodyTranslationToNullWhenBodyTranslationIdentifierIsNull()
        {
            var fixture = new Fixture();

            var staticText = new StaticText(fixture.Create <StaticTextType>(), Guid.NewGuid());

            Assert.That(staticText, Is.Not.Null);
            Assert.That(staticText.BodyTranslationIdentifier, Is.Null);
            Assert.That(staticText.BodyTranslationIdentifier.HasValue, Is.False);
            Assert.That(staticText.BodyTranslation, Is.Null);
            Assert.That(staticText.BodyTranslations, Is.Not.Null);
            Assert.That(staticText.BodyTranslations, Is.Empty);

            var translationMock = DomainObjectMockBuilder.BuildTranslationMock(Guid.NewGuid());

            staticText.TranslationAdd(translationMock);
            Assert.That(staticText.BodyTranslation, Is.Null);
            Assert.That(staticText.BodyTranslations, Is.Not.Null);
            Assert.That(staticText.BodyTranslations, Is.Empty);

            staticText.Translate(translationMock.TranslationInfo.CultureInfo);
            Assert.That(staticText.BodyTranslation, Is.Null);
        }
Пример #8
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));
        }