public void ConstraintsShouldBeGenerated()
        {
            // arrange
            var expected = new IPropertyConstraint[]
            {
                ExpectedConstraints.CreateOneToMany <User, Post>(u => u.Posts, p => p.Poster),
                ExpectedConstraints.CreateManyToOne <Post, User>(p => p.Poster, u => u.Posts),
                ExpectedConstraints.CreateOneToOne <User, ContactDetails>(u => u.ContactDetails, c => c.User),
                ExpectedConstraints.CreateOneToOne <ContactDetails, User>(c => c.User, u => u.ContactDetails),
                ExpectedConstraints.CreateForeignKey <Post, User, int>(p => p.Poster, p => p.PosterId, u => u.Id),
                ExpectedConstraints.CreateForeignKey <ContactDetails, User, int>(c => c.User, c => c.UserId, u => u.Id)
            };

            // act
            var metadata = GetMetadata();

            // assert
            metadata.Constraints.Should().BeEquivalentTo(expected);
        }
Esempio n. 2
0
        public void ConstraintsShouldBeGenerated()
        {
            // arrange
            var expected = new IPropertyConstraint[]
            {
                new ManyToManyPropertyConstraint <Post, Tag>(p => p.Tags, t => t.Posts),
                new ManyToManyPropertyConstraint <Tag, Post>(t => t.Posts, p => p.Tags),
                new OneToManyPropertyConstraint <User, Post>(u => u.Posts, p => p.Poster),
                new ManyToOnePropertyConstraint <Post, User>(p => p.Poster, u => u.Posts),
                new OneToOnePropertyConstraint <User, ContactDetails>(u => u.ContactDetails, c => c.User),
                new OneToOnePropertyConstraint <ContactDetails, User>(c => c.User, u => u.ContactDetails),
                new ForeignKeyConstraint <Post, User, int>(p => p.Poster, p => p.PosterId, u => u.Id),
                new ForeignKeyConstraint <ContactDetails, User, int>(c => c.User, c => c.Id, u => u.Id)
            };

            // act
            var metadata = GetMetadata();

            // assert
            metadata.Constraints.Should().BeEquivalentTo(expected);
        }