Esempio n. 1
0
        public void ConstraintsAreEqualWhenPropertiesAreEqual()
        {
            // arrange
            var first  = ExpectedConstraints.CreateOneToOne <Foo, Bar>(f => f.Bar, b => b.Foo);
            var second = ExpectedConstraints.CreateOneToOne <Foo, Bar>(x => x.Bar, x => x.Foo);

            // act and assert
            first.Should().Be(second);
        }
        public void ConstraintsAreEqualWhenPropertiesAreEqual()
        {
            // arrange
            var first  = ExpectedConstraints.CreateForeignKey <Foo, Bar, int>(f => f.Bar, f => f.BarId, b => b.Id);
            var second = ExpectedConstraints.CreateForeignKey <Foo, Bar, int>(x => x.Bar, x => x.BarId, x => x.Id);

            // act and assert
            first.Should().Be(second);
            first.GetHashCode().Should().Be(second.GetHashCode());
        }
Esempio n. 3
0
        public void SetsInversePropertyOnDerivedGeneratedProxy()
        {
            // arrange
            var fixture = IntegrationTest.GetFixture(ExpectedConstraints.CreateOneToOne <Foo, Bar>(f => f.Bar, b => b.Foo));
            var foo     = fixture.Create <Faz>();

            // act
            var bar = foo.Bar;

            // assert
            bar.Foo.Should().BeSameAs(foo);
        }
Esempio n. 4
0
        public void AddsDerivedItemToGeneratedCollection()
        {
            // arrange
            var fixture = IntegrationTest.GetFixture(ExpectedConstraints.CreateManyToOne <Foo, Bar>(f => f.Bar, b => b.Foos));
            var foo     = fixture.Create <Faz>();

            // act
            var bar = foo.Bar;

            // assert
            bar.Foos.Should().Contain(foo);
        }
Esempio n. 5
0
        public void SetsNullOnGeneratedProxy()
        {
            // arrange
            var fixture = IntegrationTest.GetFixture(ExpectedConstraints.CreateManyToOne <Foo, Bar>(f => f.Bar, b => b.Foos));
            var foo     = fixture.Create <Foo>();

            // act
            foo.Bar = null;

            // assert
            foo.Bar.Should().BeNull();
        }
        public void SetsDerivedPropertyToGeneratedProxyProperty()
        {
            // arrange
            var fixture = IntegrationTest.GetFixture(ExpectedConstraints.CreateForeignKey <Foo, Bar, int>(f => f.Bar, f => f.BarId, b => b.Id));
            var foo     = fixture.Create <Faz>();

            // act
            var bar = foo.Bar;

            // assert
            foo.BarId.Should().Be(bar.Id);
        }
        public void SetsInversePropertyOnProxyAddedToGeneratedCollection()
        {
            // arrange
            var fixture = IntegrationTest.GetFixture(ExpectedConstraints.CreateOneToMany <Foo, Bar>(f => f.Bars, b => b.Foo));
            var foo     = fixture.Create <Foo>();
            var bar     = fixture.Create <Bar>();

            // act
            foo.Bars.Add(bar);

            // assert
            bar.Foo.Should().BeSameAs(foo);
        }
Esempio n. 8
0
        public void RemovesItemFromCollection()
        {
            // arrange
            var fixture = IntegrationTest.GetFixture(ExpectedConstraints.CreateManyToOne <Foo, Bar>(f => f.Bar, b => b.Foos));
            var foo     = fixture.Create <Foo>();
            var bar     = foo.Bar;

            // act
            foo.Bar = fixture.Create <Bar>();

            // assert
            bar.Foos.Should().NotContain(foo);
        }
        public void SetsPropertyToNull()
        {
            // arrange
            var fixture = IntegrationTest.GetFixture(ExpectedConstraints.CreateForeignKey <Foo, Bar, int>(f => f.Bar, f => f.BarId, b => b.Id));
            var foo     = fixture.Create <Foo>();
            Bar bar     = null;

            // act
            foo.Bar = bar;

            // assert
            foo.BarId.Should().Be(0);
        }
        public void SetsInversePropertyOnExternalCollection()
        {
            // arrange
            var fixture = IntegrationTest.GetFixture(ExpectedConstraints.CreateOneToMany <Foo, Bar>(f => f.Bars, b => b.Foo));
            var foo     = fixture.Create <Foo>();

            // act
            foo.Bars = fixture.Create <ICollection <Bar> >();

            // assert
            foreach (var bar in foo.Bars)
            {
                bar.Foo.Should().BeSameAs(foo);
            }
        }
        public void AddsItemToDerivedGeneratedCollection()
        {
            // arrange
            var fixture = IntegrationTest.GetFixture(ExpectedConstraints.CreateManyToMany <Foo, Bar>(f => f.Bars, b => b.Foos));
            var foo     = fixture.Create <Faz>();

            // act
            var bars = foo.Bars;

            // assert
            foreach (var bar in bars)
            {
                bar.Foos.Should().Contain(foo);
            }
        }
        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);
        }