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); }
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); }