public void WhenExplicitManyToManyThenShouldMapSimpleRelationAsManyToOneByDefault()
        {
            var orm = new ObjectRelationalMapper();
            orm.TablePerClass<User>();
            orm.TablePerClass<Group>();
            orm.ManyToMany<Group, User>();

            orm.IsManyToOne(typeof(Group), typeof(User)).Should().Be.True();
            orm.IsManyToMany(typeof(Group), typeof(User)).Should().Be.True();
            orm.IsOneToMany(typeof(Group), typeof(User)).Should().Be.False();
            orm.IsOneToOne(typeof(Group), typeof(User)).Should().Be.False();
            orm.IsManyToMany(typeof(User), typeof(Group)).Should().Be.True();
            orm.IsOneToMany(typeof(User), typeof(Group)).Should().Be.False();
        }
        public void WhenManyToManyIsNotManyToOne()
        {
            var mapper = new ObjectRelationalMapper();
            mapper.TablePerClass<AEntity>();
            mapper.TablePerClass<BEntity>();
            mapper.ManyToMany<AEntity, BEntity>();
            mapper.IsOneToMany(typeof(AEntity), typeof(BEntity)).Should().Be.False();
            mapper.IsOneToMany(typeof(BEntity), typeof(AEntity)).Should().Be.False();

            // Commented because CfgORM-5
            // many-to-many should work only inside a collection.
            // many-to-one should work only outside a collection.
            //mapper.IsManyToOne(typeof(AEntity), typeof(BEntity)).Should().Be.False();
            //mapper.IsManyToOne(typeof(BEntity), typeof(AEntity)).Should().Be.False();
        }
예제 #3
0
        public void WhenExplicitManyToManyThenShouldMapSimpleRelationAsManyToOneByDefault()
        {
            var orm = new ObjectRelationalMapper();

            orm.TablePerClass <User>();
            orm.TablePerClass <Group>();
            orm.ManyToMany <Group, User>();

            orm.IsManyToOne(typeof(Group), typeof(User)).Should().Be.True();
            orm.IsManyToMany(typeof(Group), typeof(User)).Should().Be.True();
            orm.IsOneToMany(typeof(Group), typeof(User)).Should().Be.False();
            orm.IsOneToOne(typeof(Group), typeof(User)).Should().Be.False();
            orm.IsManyToMany(typeof(User), typeof(Group)).Should().Be.True();
            orm.IsOneToMany(typeof(User), typeof(Group)).Should().Be.False();
        }
        public void WhenManyToManyIsNotManyToOne()
        {
            var mapper = new ObjectRelationalMapper();

            mapper.TablePerClass <AEntity>();
            mapper.TablePerClass <BEntity>();
            mapper.ManyToMany <AEntity, BEntity>();
            mapper.IsOneToMany(typeof(AEntity), typeof(BEntity)).Should().Be.False();
            mapper.IsOneToMany(typeof(BEntity), typeof(AEntity)).Should().Be.False();

            // Commented because CfgORM-5
            // many-to-many should work only inside a collection.
            // many-to-one should work only outside a collection.
            //mapper.IsManyToOne(typeof(AEntity), typeof(BEntity)).Should().Be.False();
            //mapper.IsManyToOne(typeof(BEntity), typeof(AEntity)).Should().Be.False();
        }
        public void RecognizeOneToMany()
        {
            var orm = new ObjectRelationalMapper();
            orm.TablePerClass<Parent>();
            orm.TablePerClass<Image>();

            orm.IsOneToMany(typeof (Child), typeof (Image)).Should().Be.True();
        }
 public void WhenNotRegisteredAsManyToOneRecognizeRelation()
 {
     var mapper = new ObjectRelationalMapper();
     mapper.TablePerClass<AEntity>();
     mapper.TablePerClass<BEntity>();
     mapper.IsOneToMany(typeof(BEntity), typeof(AEntity)).Should().Be.True();
     mapper.IsManyToOne(typeof(AEntity), typeof(BEntity)).Should().Be.True();
 }
 public void WhenExplicitRegisteredRecognizeInverseRelation()
 {
     var mapper = new ObjectRelationalMapper();
     mapper.TablePerClass<AEntity>();
     mapper.TablePerClass<BEntity>();
     mapper.ManyToOne<AEntity, BEntity>();
     mapper.IsOneToMany(typeof(BEntity), typeof(AEntity)).Should().Be.True();
 }
        public void RecognizeOneToMany()
        {
            var orm = new ObjectRelationalMapper();

            orm.TablePerClass <Parent>();
            orm.TablePerClass <Image>();

            orm.IsOneToMany(typeof(Child), typeof(Image)).Should().Be.True();
        }
예제 #9
0
        public void WhenNotRegisteredAsManyToOneRecognizeRelation()
        {
            var mapper = new ObjectRelationalMapper();

            mapper.TablePerClass <AEntity>();
            mapper.TablePerClass <BEntity>();
            mapper.IsOneToMany(typeof(BEntity), typeof(AEntity)).Should().Be.True();
            mapper.IsManyToOne(typeof(AEntity), typeof(BEntity)).Should().Be.True();
        }
예제 #10
0
        public void WhenExplicitRegisteredRecognizeInverseRelation()
        {
            var mapper = new ObjectRelationalMapper();

            mapper.TablePerClass <AEntity>();
            mapper.TablePerClass <BEntity>();
            mapper.ManyToOne <AEntity, BEntity>();
            mapper.IsOneToMany(typeof(BEntity), typeof(AEntity)).Should().Be.True();
        }
        public void WhenFindInterfaceForRootClassInCollectionThenRecognizeRelation()
        {
            var orm = new ObjectRelationalMapper();
            orm.TablePerClass<Contact>();
            orm.TablePerClass<UserGroup>();
            orm.ManyToOne<UserSuperGroup, ISecurity>();

            orm.IsOneToMany(typeof(ISecurity), typeof(UserSuperGroup)).Should().Be.True();
        }
        public void WhenFindInterfaceForRootClassInCollectionThenRecognizeRelation()
        {
            var orm = new ObjectRelationalMapper();

            orm.TablePerClass <Contact>();
            orm.TablePerClass <UserGroup>();
            orm.ManyToOne <UserSuperGroup, ISecurity>();

            orm.IsOneToMany(typeof(ISecurity), typeof(UserSuperGroup)).Should().Be.True();
        }
        public void WhenExplicitRegisteredAsOneToOneNotRecognizeRelation()
        {
            var mapper = new ObjectRelationalMapper();
            mapper.TablePerClass<AEntity>();
            mapper.TablePerClass<BEntity>();
            mapper.OneToOne<AEntity, BEntity>();
            mapper.IsOneToMany(typeof(BEntity), typeof(AEntity)).Should().Be.False();

            // the default behaviour map an unidirectional one-to-one as a many-to-one (for NHibernate)
            // mapper.IsManyToOne(typeof(AEntity), typeof(BEntity)).Should().Be.False();
        }
예제 #14
0
        public void WhenExplicitRegisteredAsOneToOneNotRecognizeRelation()
        {
            var mapper = new ObjectRelationalMapper();

            mapper.TablePerClass <AEntity>();
            mapper.TablePerClass <BEntity>();
            mapper.OneToOne <AEntity, BEntity>();
            mapper.IsOneToMany(typeof(BEntity), typeof(AEntity)).Should().Be.False();

            // the default behaviour map an unidirectional one-to-one as a many-to-one (for NHibernate)
            // mapper.IsManyToOne(typeof(AEntity), typeof(BEntity)).Should().Be.False();
        }
 public void RecognizeOneToMany()
 {
     orm.IsOneToMany(typeof(Parent), typeof(Child)).Should().Be.True();
 }