Beispiel #1
0
        public void TestThatFoodGroupAddAddsFoodGroup()
        {
            var primaryFoodGroupMock = DomainObjectMockBuilder.BuildFoodGroupMock();

            Assert.That(primaryFoodGroupMock, Is.Not.Null);
            Assert.That(primaryFoodGroupMock.Identifier, Is.Not.Null);
            Assert.That(primaryFoodGroupMock.Identifier.HasValue, Is.True);

            var foodItem = new FoodItem(primaryFoodGroupMock);

            Assert.That(foodItem, Is.Not.Null);
            Assert.That(foodItem.FoodGroups, Is.Not.Null);
            Assert.That(foodItem.FoodGroups, Is.Not.Empty);
            Assert.That(foodItem.FoodGroups.Count(), Is.EqualTo(1));
            Assert.That(foodItem.FoodGroups.Contains(primaryFoodGroupMock), Is.True);

            var foodGroupMock = DomainObjectMockBuilder.BuildFoodGroupMock();

            Assert.That(foodGroupMock, Is.Not.Null);
            Assert.That(foodGroupMock.Identifier, Is.Not.Null);
            Assert.That(foodGroupMock.Identifier.HasValue, Is.True);
            // ReSharper disable PossibleInvalidOperationException
            Assert.That(foodGroupMock.Identifier.Value, Is.Not.EqualTo(primaryFoodGroupMock.Identifier.Value));
            // ReSharper restore PossibleInvalidOperationException

            foodItem.FoodGroupAdd(foodGroupMock);
            Assert.That(foodItem.FoodGroups, Is.Not.Null);
            Assert.That(foodItem.FoodGroups, Is.Not.Empty);
            Assert.That(foodItem.FoodGroups.Count(), Is.EqualTo(2));
            Assert.That(foodItem.FoodGroups.Contains(primaryFoodGroupMock), Is.True);
            Assert.That(foodItem.FoodGroups.Contains(foodGroupMock), Is.True);
        }
Beispiel #2
0
        public void TestThatTranslateCallsTranslateOnEachFoodGroup()
        {
            var foodGroupMockCollection = DomainObjectMockBuilder.BuildFoodGroupMockCollection().ToArray();

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

            var foodItem = new MyFoodItem
            {
                FoodGroups = foodGroupMockCollection
            };

            Assert.That(foodItem, Is.Not.Null);
            Assert.That(foodItem.PrimaryFoodGroup, Is.Not.Null);
            Assert.That(foodItem.FoodGroups, Is.Not.Null);
            Assert.That(foodItem.FoodGroups, Is.Not.Empty);
            Assert.That(foodItem.FoodGroups, Is.EqualTo(foodGroupMockCollection));

            var cultureInfo = CultureInfo.CurrentUICulture;

            foodItem.Translate(cultureInfo);

            foodItem.PrimaryFoodGroup.AssertWasCalled(m => m.Translate(Arg <CultureInfo> .Is.Equal(cultureInfo)));
            foodGroupMockCollection.ForEach(foodGroupMock => foodGroupMock.AssertWasCalled(m => m.Translate(Arg <CultureInfo> .Is.Equal(cultureInfo))));
        }
Beispiel #3
0
        public void TestThatFoodGroupsSetterSetsFoodGroupsWhenPrimaryFoodGroupIsNotNullAndValueDoesNotContainPrimaryFoodGroup()
        {
            var primaryFoodGroupMock = DomainObjectMockBuilder.BuildFoodGroupMock();
            var foodItem             = new MyFoodItem
            {
                PrimaryFoodGroup = primaryFoodGroupMock
            };

            Assert.That(foodItem, Is.Not.Null);
            Assert.That(foodItem.PrimaryFoodGroup, Is.Not.Null);
            Assert.That(foodItem.PrimaryFoodGroup, Is.EqualTo(primaryFoodGroupMock));
            Assert.That(foodItem.FoodGroups, Is.Not.Null);
            Assert.That(foodItem.FoodGroups, Is.Not.Empty);
            Assert.That(foodItem.FoodGroups.Count(), Is.EqualTo(1));
            Assert.That(foodItem.FoodGroups.Contains(primaryFoodGroupMock), Is.True);

            var foodGroupMockCollection = DomainObjectMockBuilder.BuildFoodGroupMockCollection().ToArray();

            Assert.That(foodGroupMockCollection, Is.Not.Null);
            // ReSharper disable PossibleInvalidOperationException
            Assert.That(foodGroupMockCollection.Any(foodGroupMock => foodGroupMock.Identifier.Value == primaryFoodGroupMock.Identifier.Value), Is.False);
            // ReSharper restore PossibleInvalidOperationException

            foodItem.FoodGroups = foodGroupMockCollection;
            Assert.That(foodItem.PrimaryFoodGroup, Is.Not.Null);
            Assert.That(foodItem.PrimaryFoodGroup, Is.EqualTo(primaryFoodGroupMock));
            Assert.That(foodItem.FoodGroups, Is.Not.Null);
            Assert.That(foodItem.FoodGroups, Is.Not.Empty);
            Assert.That(foodItem.FoodGroups.Count(), Is.EqualTo(1 + foodGroupMockCollection.Count()));
            Assert.That(foodItem.FoodGroups.Contains(primaryFoodGroupMock), Is.True);
            foodGroupMockCollection.ForEach(foodGroupMock => Assert.That(foodItem.FoodGroups.Contains(foodGroupMock), Is.True));
        }
Beispiel #4
0
        public void TestThatForeignKeysSetterSetForeignKeys()
        {
            var foodItem = new MyFoodItem
            {
                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.ForeignKeys, Is.Not.Null);
            Assert.That(foodItem.ForeignKeys, Is.Empty);

            // ReSharper disable PossibleInvalidOperationException
            var foreignKeyMockCollection = DomainObjectMockBuilder.BuildForeignKeyMockCollection(foodItem.Identifier.Value, foodItem.GetType());

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

            foodItem.ForeignKeys = foreignKeyMockCollection;
            Assert.That(foodItem.ForeignKeys, Is.Not.Null);
            Assert.That(foodItem.ForeignKeys, Is.Not.Empty);
            Assert.That(foodItem.ForeignKeys, Is.EqualTo(foreignKeyMockCollection));
        }
Beispiel #5
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));
        }
        public void TestThatConstructorInitializeForeignKey()
        {
            var fixture = new Fixture();

            var dataProviderMock        = DomainObjectMockBuilder.BuildDataProviderMock();
            var foreignKeyForIdentifier = Guid.NewGuid();
            var foreignKeyForType       = typeof(DataProvider);
            var foreignKeyValue         = fixture.Create <string>();
            var foreignKey = new ForeignKey(dataProviderMock, foreignKeyForIdentifier, foreignKeyForType, foreignKeyValue);

            Assert.That(foreignKey, Is.Not.Null);
            Assert.That(foreignKey.Identifier, Is.Null);
            Assert.That(foreignKey.Identifier.HasValue, Is.False);
            Assert.That(foreignKey.DataProvider, Is.Not.Null);
            Assert.That(foreignKey.DataProvider, Is.EqualTo(dataProviderMock));
            Assert.That(foreignKey.ForeignKeyForIdentifier, Is.EqualTo(foreignKeyForIdentifier));
            Assert.That(foreignKey.ForeignKeyForTypes, Is.Not.Null);
            Assert.That(foreignKey.ForeignKeyForTypes, Is.Not.Empty);
            Assert.That(foreignKey.ForeignKeyForTypes.Count(), Is.EqualTo(4));
            Assert.That(foreignKey.ForeignKeyForTypes.Contains(typeof(IDomainObject)), Is.True);
            Assert.That(foreignKey.ForeignKeyForTypes.Contains(typeof(IIdentifiable)), Is.True);
            Assert.That(foreignKey.ForeignKeyForTypes.Contains(typeof(ITranslatable)), Is.True);
            Assert.That(foreignKey.ForeignKeyForTypes.Contains(typeof(IDataProvider)), Is.True);
            Assert.That(foreignKey.ForeignKeyValue, Is.Not.Null);
            Assert.That(foreignKey.ForeignKeyValue, Is.Not.Empty);
            Assert.That(foreignKey.ForeignKeyValue, Is.EqualTo(foreignKeyValue));
        }
Beispiel #7
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));
        }
Beispiel #8
0
        public void TestThatRemoveInactiveFoodItemsRemovesInactiveFoodItems()
        {
            var activeFoodItem1Mock = MockRepository.GenerateMock <IFoodItem>();

            activeFoodItem1Mock.Stub(m => m.IsActive)
            .Return(true)
            .Repeat.Any();
            var activeFoodItem2Mock = MockRepository.GenerateMock <IFoodItem>();

            activeFoodItem2Mock.Stub(m => m.IsActive)
            .Return(true)
            .Repeat.Any();
            var activeFoodItem3Mock = MockRepository.GenerateMock <IFoodItem>();

            activeFoodItem3Mock.Stub(m => m.IsActive)
            .Return(true)
            .Repeat.Any();
            var inactiveFoodItem1Mock = MockRepository.GenerateMock <IFoodItem>();

            inactiveFoodItem1Mock.Stub(m => m.IsActive)
            .Return(false)
            .Repeat.Any();
            var inactiveFoodItem2Mock = MockRepository.GenerateMock <IFoodItem>();

            inactiveFoodItem2Mock.Stub(m => m.IsActive)
            .Return(false)
            .Repeat.Any();
            var inactiveFoodItem3Mock = MockRepository.GenerateMock <IFoodItem>();

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

            var dataProviderMock = DomainObjectMockBuilder.BuildDataProviderMock();

            var foodItemCollection = new FoodItemCollection(new List <IFoodItem> {
                activeFoodItem1Mock, inactiveFoodItem1Mock, activeFoodItem2Mock, inactiveFoodItem2Mock, activeFoodItem3Mock, inactiveFoodItem3Mock
            }, dataProviderMock);

            Assert.That(foodItemCollection, Is.Not.Null);
            Assert.That(foodItemCollection, Is.Not.Empty);
            Assert.That(foodItemCollection.Count, Is.EqualTo(6));
            Assert.That(foodItemCollection.Contains(activeFoodItem1Mock), Is.True);
            Assert.That(foodItemCollection.Contains(activeFoodItem2Mock), Is.True);
            Assert.That(foodItemCollection.Contains(activeFoodItem3Mock), Is.True);
            Assert.That(foodItemCollection.Contains(inactiveFoodItem1Mock), Is.True);
            Assert.That(foodItemCollection.Contains(inactiveFoodItem2Mock), Is.True);
            Assert.That(foodItemCollection.Contains(inactiveFoodItem3Mock), Is.True);

            foodItemCollection.RemoveInactiveFoodItems();
            Assert.That(foodItemCollection, Is.Not.Null);
            Assert.That(foodItemCollection, Is.Not.Empty);
            Assert.That(foodItemCollection.Count, Is.EqualTo(3));
            Assert.That(foodItemCollection.Contains(activeFoodItem1Mock), Is.True);
            Assert.That(foodItemCollection.Contains(activeFoodItem2Mock), Is.True);
            Assert.That(foodItemCollection.Contains(activeFoodItem3Mock), Is.True);
            Assert.That(foodItemCollection.Contains(inactiveFoodItem1Mock), Is.False);
            Assert.That(foodItemCollection.Contains(inactiveFoodItem2Mock), Is.False);
            Assert.That(foodItemCollection.Contains(inactiveFoodItem3Mock), Is.False);
        }
Beispiel #9
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);
        }
Beispiel #10
0
        public void TestThatForeignKeyAddAddsForeignKey()
        {
            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.ForeignKeys, Is.Not.Null);
            Assert.That(foodItem.ForeignKeys, Is.Empty);

            // ReSharper disable PossibleInvalidOperationException
            var foreignKeyMock = DomainObjectMockBuilder.BuildForeignKeyMock(foodItem.Identifier.Value, foodItem.GetType());

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

            foodItem.ForeignKeyAdd(foreignKeyMock);
            Assert.That(foodItem.ForeignKeys, Is.Not.Null);
            Assert.That(foodItem.ForeignKeys, Is.Not.Empty);
            Assert.That(foodItem.ForeignKeys.Count(), Is.EqualTo(1));
            Assert.That(foodItem.ForeignKeys.Contains(foreignKeyMock), Is.True);
        }
Beispiel #11
0
        public void TestThatRemoveInactiveFoodGroupsRemovesInactiveFoodGroups()
        {
            var primaryFoodGroupMock = DomainObjectMockBuilder.BuildFoodGroupMock(isActive: false);

            Assert.That(primaryFoodGroupMock, Is.Not.Null);
            Assert.That(primaryFoodGroupMock.Identifier, Is.Not.Null);
            Assert.That(primaryFoodGroupMock.Identifier.HasValue, Is.True);
            Assert.That(primaryFoodGroupMock.IsActive, Is.False);

            var activeFoodGroupMock = DomainObjectMockBuilder.BuildFoodGroupMock();

            Assert.That(activeFoodGroupMock, Is.Not.Null);
            Assert.That(activeFoodGroupMock.Identifier, Is.Not.Null);
            Assert.That(activeFoodGroupMock.Identifier.HasValue, Is.True);
            Assert.That(activeFoodGroupMock.IsActive, Is.True);

            var inactiveFoodGroup1Mock = DomainObjectMockBuilder.BuildFoodGroupMock(isActive: false);

            Assert.That(inactiveFoodGroup1Mock, Is.Not.Null);
            Assert.That(inactiveFoodGroup1Mock.Identifier, Is.Not.Null);
            Assert.That(inactiveFoodGroup1Mock.Identifier.HasValue, Is.True);
            Assert.That(inactiveFoodGroup1Mock.IsActive, Is.False);

            var inactiveFoodGroup2Mock = DomainObjectMockBuilder.BuildFoodGroupMock(isActive: false);

            Assert.That(inactiveFoodGroup2Mock, Is.Not.Null);
            Assert.That(inactiveFoodGroup2Mock.Identifier, Is.Not.Null);
            Assert.That(inactiveFoodGroup2Mock.Identifier.HasValue, Is.True);
            Assert.That(inactiveFoodGroup2Mock.IsActive, Is.False);

            var foodItem = new FoodItem(primaryFoodGroupMock);

            Assert.That(foodItem, Is.Not.Null);
            Assert.That(foodItem.PrimaryFoodGroup, Is.Not.Null);
            Assert.That(foodItem.PrimaryFoodGroup, Is.EqualTo(primaryFoodGroupMock));

            foodItem.FoodGroupAdd(activeFoodGroupMock);
            foodItem.FoodGroupAdd(inactiveFoodGroup1Mock);
            foodItem.FoodGroupAdd(inactiveFoodGroup2Mock);
            Assert.That(foodItem.FoodGroups, Is.Not.Null);
            Assert.That(foodItem.FoodGroups, Is.Not.Empty);
            Assert.That(foodItem.FoodGroups.Count(), Is.EqualTo(4));
            Assert.That(foodItem.FoodGroups.Contains(primaryFoodGroupMock), Is.True);
            Assert.That(foodItem.FoodGroups.Contains(activeFoodGroupMock), Is.True);
            Assert.That(foodItem.FoodGroups.Contains(inactiveFoodGroup1Mock), Is.True);
            Assert.That(foodItem.FoodGroups.Contains(inactiveFoodGroup2Mock), Is.True);

            foodItem.RemoveInactiveFoodGroups();

            Assert.That(foodItem.FoodGroups, Is.Not.Null);
            Assert.That(foodItem.FoodGroups, Is.Not.Empty);
            Assert.That(foodItem.FoodGroups.Count(), Is.EqualTo(2));
            Assert.That(foodItem.FoodGroups.Contains(primaryFoodGroupMock), Is.True);
            Assert.That(foodItem.FoodGroups.Contains(activeFoodGroupMock), Is.True);
            Assert.That(foodItem.FoodGroups.Contains(inactiveFoodGroup1Mock), Is.False);
            Assert.That(foodItem.FoodGroups.Contains(inactiveFoodGroup2Mock), Is.False);
        }
Beispiel #12
0
        public void TestThatValueSetterUpdatesValue()
        {
            var fixture     = new Fixture();
            var translation = new Translation(Guid.NewGuid(), DomainObjectMockBuilder.BuildTranslationInfoMock(), fixture.Create <string>());

            var newValue = fixture.Create <string>();

            translation.Value = newValue;
            Assert.That(translation.Value, Is.Not.Null);
            Assert.That(translation.Value, Is.Not.Empty);
            Assert.That(translation.Value, Is.EqualTo(newValue));
        }
Beispiel #13
0
        public void TestThatParentSetterSetsValueWhichAreNotNull()
        {
            var foodGroup = new FoodGroup();

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

            var parentFoodGroupMock = DomainObjectMockBuilder.BuildFoodGroupMock();

            foodGroup.Parent = parentFoodGroupMock;
            Assert.That(foodGroup.Parent, Is.Not.Null);
            Assert.That(foodGroup.Parent, Is.EqualTo(parentFoodGroupMock));
        }
        public void TestThatConstructorThrowsArgumentNullExceptionWhenPaymentReferenceIsInvalid(string invalidValue)
        {
            var fixture = new Fixture();
            var random  = new Random(fixture.Create <int>());

            var exception = Assert.Throws <ArgumentNullException>(() => new Payment(DomainObjectMockBuilder.BuildStakeholderMock(), DomainObjectMockBuilder.BuildDataProviderMock(true), DateTime.Now.AddDays(random.Next(1, 7) * -1).AddMinutes(random.Next(120, 240)), invalidValue));

            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("paymentReference"));
            Assert.That(exception.InnerException, Is.Null);
        }
Beispiel #15
0
        public void TestThatParentSetterSetsValueWhichAreNull()
        {
            var foodGroup = new FoodGroup
            {
                Parent = DomainObjectMockBuilder.BuildFoodGroupMock()
            };

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

            foodGroup.Parent = null;
            Assert.That(foodGroup.Parent, Is.Null);
        }
Beispiel #16
0
        public void TestThatValueSetterThrowsArgumentNullExceptionWhenValueIsInvalid(string invalidValue)
        {
            var fixture     = new Fixture();
            var translation = new Translation(Guid.NewGuid(), DomainObjectMockBuilder.BuildTranslationInfoMock(), fixture.Create <string>());

            var exception = Assert.Throws <ArgumentNullException>(() => translation.Value = invalidValue);

            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);
        }
Beispiel #17
0
        public void TestThatIsActiveSetterSetsIsActive(bool testValue)
        {
            var foodItem = new FoodItem(DomainObjectMockBuilder.BuildFoodGroupMock())
            {
                IsActive = !testValue
            };

            Assert.That(foodItem, Is.Not.Null);
            Assert.That(foodItem.IsActive, Is.Not.EqualTo(testValue));

            foodItem.IsActive = testValue;
            Assert.That(foodItem.IsActive, Is.EqualTo(testValue));
        }
Beispiel #18
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);
        }
        public void TestThatPaymentReceiptSetterChangeValueToNull()
        {
            var fixture = new Fixture();
            var random  = new Random(fixture.Create <int>());

            var payment = new MyPayment(DomainObjectMockBuilder.BuildStakeholderMock(), DomainObjectMockBuilder.BuildDataProviderMock(true), DateTime.Now.AddDays(random.Next(1, 7) * -1).AddMinutes(random.Next(120, 240)), fixture.Create <string>(), fixture.CreateMany <byte>(random.Next(1024, 4096)).ToArray());

            Assert.That(payment, Is.Not.Null);
            Assert.That(payment.PaymentReceipt, Is.Not.Null);
            Assert.That(payment.PaymentReceipt, Is.Not.Empty);

            payment.PaymentReceipt = null;
            Assert.That(payment.PaymentReceipt, Is.Null);
        }
Beispiel #20
0
        public void TestThatForeignKeyAddThrowsArgumentNullExceptionWhenForeignKeyIsNull()
        {
            var foodItem = new FoodItem(DomainObjectMockBuilder.BuildFoodGroupMock());

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

            var exception = Assert.Throws <ArgumentNullException>(() => foodItem.ForeignKeyAdd(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("foreignKey"));
            Assert.That(exception.InnerException, Is.Null);
        }
Beispiel #21
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);
            }
        }
Beispiel #22
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());
        }
Beispiel #23
0
        public void TestThatRemoveInactiveFoodItemsDoesNotCallRemoveInactiveFoodGroupsOnEachInactiveFoodItem()
        {
            var activeFoodItem1Mock = MockRepository.GenerateMock <IFoodItem>();

            activeFoodItem1Mock.Stub(m => m.IsActive)
            .Return(true)
            .Repeat.Any();
            var activeFoodItem2Mock = MockRepository.GenerateMock <IFoodItem>();

            activeFoodItem2Mock.Stub(m => m.IsActive)
            .Return(true)
            .Repeat.Any();
            var activeFoodItem3Mock = MockRepository.GenerateMock <IFoodItem>();

            activeFoodItem3Mock.Stub(m => m.IsActive)
            .Return(true)
            .Repeat.Any();
            var inactiveFoodItem1Mock = MockRepository.GenerateMock <IFoodItem>();

            inactiveFoodItem1Mock.Stub(m => m.IsActive)
            .Return(false)
            .Repeat.Any();
            var inactiveFoodItem2Mock = MockRepository.GenerateMock <IFoodItem>();

            inactiveFoodItem2Mock.Stub(m => m.IsActive)
            .Return(false)
            .Repeat.Any();
            var inactiveFoodItem3Mock = MockRepository.GenerateMock <IFoodItem>();

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

            var dataProviderMock = DomainObjectMockBuilder.BuildDataProviderMock();

            var foodItemCollection = new FoodItemCollection(new List <IFoodItem> {
                activeFoodItem1Mock, inactiveFoodItem1Mock, activeFoodItem2Mock, inactiveFoodItem2Mock, activeFoodItem3Mock, inactiveFoodItem3Mock
            }, dataProviderMock);

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

            foodItemCollection.RemoveInactiveFoodItems();

            inactiveFoodItem1Mock.AssertWasNotCalled(m => m.RemoveInactiveFoodGroups());
            inactiveFoodItem2Mock.AssertWasNotCalled(m => m.RemoveInactiveFoodGroups());
            inactiveFoodItem3Mock.AssertWasNotCalled(m => m.RemoveInactiveFoodGroups());
        }
Beispiel #24
0
        public void TestThatRemoveInactiveFoodGroupsDoesNotCallRemoveInactiveChildrenOnEachInactiveFoodGroup()
        {
            var primaryFoodGroupMock = DomainObjectMockBuilder.BuildFoodGroupMock(isActive: false);

            Assert.That(primaryFoodGroupMock, Is.Not.Null);
            Assert.That(primaryFoodGroupMock.Identifier, Is.Not.Null);
            Assert.That(primaryFoodGroupMock.Identifier.HasValue, Is.True);
            Assert.That(primaryFoodGroupMock.IsActive, Is.False);

            var activeFoodGroupMock = DomainObjectMockBuilder.BuildFoodGroupMock();

            Assert.That(activeFoodGroupMock, Is.Not.Null);
            Assert.That(activeFoodGroupMock.Identifier, Is.Not.Null);
            Assert.That(activeFoodGroupMock.Identifier.HasValue, Is.True);
            Assert.That(activeFoodGroupMock.IsActive, Is.True);

            var inactiveFoodGroup1Mock = DomainObjectMockBuilder.BuildFoodGroupMock(isActive: false);

            Assert.That(inactiveFoodGroup1Mock, Is.Not.Null);
            Assert.That(inactiveFoodGroup1Mock.Identifier, Is.Not.Null);
            Assert.That(inactiveFoodGroup1Mock.Identifier.HasValue, Is.True);
            Assert.That(inactiveFoodGroup1Mock.IsActive, Is.False);

            var inactiveFoodGroup2Mock = DomainObjectMockBuilder.BuildFoodGroupMock(isActive: false);

            Assert.That(inactiveFoodGroup2Mock, Is.Not.Null);
            Assert.That(inactiveFoodGroup2Mock.Identifier, Is.Not.Null);
            Assert.That(inactiveFoodGroup2Mock.Identifier.HasValue, Is.True);
            Assert.That(inactiveFoodGroup2Mock.IsActive, Is.False);

            var foodItem = new FoodItem(primaryFoodGroupMock);

            Assert.That(foodItem, Is.Not.Null);
            Assert.That(foodItem.PrimaryFoodGroup, Is.Not.Null);
            Assert.That(foodItem.PrimaryFoodGroup, Is.EqualTo(primaryFoodGroupMock));

            foodItem.FoodGroupAdd(activeFoodGroupMock);
            foodItem.FoodGroupAdd(inactiveFoodGroup1Mock);
            foodItem.FoodGroupAdd(inactiveFoodGroup2Mock);
            Assert.That(foodItem.FoodGroups, Is.Not.Null);
            Assert.That(foodItem.FoodGroups, Is.Not.Empty);
            Assert.That(foodItem.FoodGroups.Count(), Is.EqualTo(4));

            foodItem.RemoveInactiveFoodGroups();

            inactiveFoodGroup1Mock.AssertWasNotCalled(m => m.RemoveInactiveChildren());
            inactiveFoodGroup2Mock.AssertWasNotCalled(m => m.RemoveInactiveChildren());
        }
        public void TestThatForeignKeyValueSetterThrowsArgumentNullExceptionWhenForeignKeyValueIsInvalid(string invalidValue)
        {
            var fixture = new Fixture();

            var foreignKey = new ForeignKey(DomainObjectMockBuilder.BuildDataProviderMock(), Guid.NewGuid(), typeof(DataProvider), fixture.Create <string>());

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

            var exception = Assert.Throws <ArgumentNullException>(() => foreignKey.ForeignKeyValue = invalidValue);

            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);
        }
        public void TestThatTranslateThrowsArgumentNullExceptionWhenTranslationCultureIsNull()
        {
            var fixture = new Fixture();
            var random  = new Random(fixture.Create <int>());

            var payment = new MyPayment(DomainObjectMockBuilder.BuildStakeholderMock(), DomainObjectMockBuilder.BuildDataProviderMock(true), DateTime.Now.AddDays(random.Next(1, 7) * -1).AddMinutes(random.Next(120, 240)), fixture.Create <string>());

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

            var exception = Assert.Throws <ArgumentNullException>(() => payment.Translate(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("translationCulture"));
            Assert.That(exception.InnerException, Is.Null);
        }
        public void TestThatCreationTimeSetterChangeValue()
        {
            var fixture = new Fixture();
            var random  = new Random(fixture.Create <int>());

            var payment = new MyPayment(DomainObjectMockBuilder.BuildStakeholderMock(), DomainObjectMockBuilder.BuildDataProviderMock(true), DateTime.Now.AddDays(random.Next(1, 7) * -1).AddMinutes(random.Next(120, 240)), fixture.Create <string>());

            Assert.That(payment, Is.Not.Null);
            Assert.That(payment.CreationTime, Is.EqualTo(DateTime.Now).Within(3).Seconds);

            var newCreationTime = DateTime.Now.AddDays(random.Next(1, 7) * -1);

            Assert.That(newCreationTime, Is.Not.EqualTo(payment.CreationTime));

            payment.CreationTime = newCreationTime;
            Assert.That(payment.CreationTime, Is.EqualTo(newCreationTime));
        }
        public void TestThatTranslateCallsTranslateOnDataProvider()
        {
            var fixture          = new Fixture();
            var random           = new Random(fixture.Create <int>());
            var dataProviderMock = DomainObjectMockBuilder.BuildDataProviderMock(true);

            var payment = new MyPayment(DomainObjectMockBuilder.BuildStakeholderMock(), dataProviderMock, DateTime.Now.AddDays(random.Next(1, 7) * -1).AddMinutes(random.Next(120, 240)), fixture.Create <string>());

            Assert.That(payment, Is.Not.Null);
            Assert.That(payment.DataProvider, Is.Not.Null);
            Assert.That(payment.DataProvider, Is.EqualTo(dataProviderMock));

            var translationCulture = CultureInfo.CurrentCulture;

            payment.Translate(translationCulture);

            dataProviderMock.AssertWasCalled(m => m.Translate(Arg <CultureInfo> .Is.Equal(translationCulture)));
        }
Beispiel #29
0
        public void TestThatFoodGroupsSetterSetsFoodGroupsWhenPrimaryFoodGroupIsNull()
        {
            var foodItem = new MyFoodItem();

            Assert.That(foodItem, Is.Not.Null);
            Assert.That(foodItem.PrimaryFoodGroup, Is.Null);
            Assert.That(foodItem.FoodGroups, Is.Not.Null);
            Assert.That(foodItem.FoodGroups, Is.Empty);

            var foodGroupMockCollection = DomainObjectMockBuilder.BuildFoodGroupMockCollection().ToArray();

            foodItem.FoodGroups = foodGroupMockCollection;
            Assert.That(foodItem.PrimaryFoodGroup, Is.Not.Null);
            Assert.That(foodItem.PrimaryFoodGroup, Is.EqualTo(foodGroupMockCollection.First()));
            Assert.That(foodItem.FoodGroups, Is.Not.Null);
            Assert.That(foodItem.FoodGroups, Is.Not.Empty);
            Assert.That(foodItem.FoodGroups, Is.EqualTo(foodGroupMockCollection));
        }
Beispiel #30
0
        public void TestThatConstructorInitializeTranslation()
        {
            var fixture = new Fixture();
            var translationOfIdentitier = Guid.NewGuid();
            var translationInfoMock     = DomainObjectMockBuilder.BuildTranslationInfoMock();
            var value = fixture.Create <string>();

            var translation = new Translation(translationOfIdentitier, translationInfoMock, value);

            Assert.That(translation, Is.Not.Null);
            Assert.That(translation.Identifier, Is.Null);
            Assert.That(translation.Identifier.HasValue, Is.False);
            Assert.That(translation.TranslationOfIdentifier, Is.EqualTo(translationOfIdentitier));
            Assert.That(translation.TranslationInfo, Is.Not.Null);
            Assert.That(translation.TranslationInfo, Is.EqualTo(translationInfoMock));
            Assert.That(translation.Value, Is.Not.Null);
            Assert.That(translation.Value, Is.Not.Empty);
            Assert.That(translation.Value, Is.EqualTo(value));
        }