示例#1
0
            public void GivenNullTargetList_ThenThrowsArgumentNullException()
            {
                // arrange
                var source = new Card();
                const RelationshipType type = RelationshipType.Breaks;
                var mockRelationshipFactory = new Mock <IRelationshipFactory>(MockBehavior.Strict);
                var relationshipBuilder     = new RelationshipBuilder(mockRelationshipFactory.Object);

                // act
                relationshipBuilder.BuildOneVsMany(source, null, type);

                // assert
                Assert.Fail("ArgumentNullException should have been thrown.");
            }
示例#2
0
            public void GivenNullCard_ThenThrowsArgumentNullException()
            {
                // arrange
                var targets = new List <Card>();
                const RelationshipType type = RelationshipType.Breaks;
                var mockRelationshipFactory = new Mock <IRelationshipFactory>(MockBehavior.Strict);
                var relationshipBuilder     = new RelationshipBuilder(mockRelationshipFactory.Object);

                // act
                relationshipBuilder.BuildOneVsMany(null, targets.AsQueryable(), type);

                // assert
                Assert.Fail("ArgumentNullException should have been thrown.");
            }
示例#3
0
            public void GivenValid_ThenRelationshipsAreCreated()
            {
                // arrange
                var source = new Card {
                    Name = "Parent"
                };
                var targets = new List <Card>
                {
                    new Card {
                        Name = "Child 1"
                    },
                    new Card {
                        Name = "Child 2"
                    },
                    new Card {
                        Name = "Child 3"
                    },
                };
                const RelationshipType type = RelationshipType.Breaks;
                var mockRelationshipFactory = new Mock <IRelationshipFactory>(MockBehavior.Strict);
                var relationshipBuilder     = new RelationshipBuilder(mockRelationshipFactory.Object);

                mockRelationshipFactory
                .Setup(x => x.Create(type, source, It.IsAny <Card>()))
                .Returns((RelationshipType a, Card b, Card target) =>
                         new Relationship
                {
                    Source = source,
                    Target = target,
                    Type   = type
                });

                // act
                relationshipBuilder.BuildOneVsMany(source, targets.AsQueryable(), type);

                // assert
                Assert.AreEqual(3, source.Relationships.Count);
                Assert.IsNotNull(source.Relationships.FirstOrDefault(x => x.Target.Name == "Child 1"));
                Assert.IsNotNull(source.Relationships.FirstOrDefault(x => x.Target.Name == "Child 2"));
                Assert.IsNotNull(source.Relationships.FirstOrDefault(x => x.Target.Name == "Child 3"));
            }