Exemplo n.º 1
0
        public void TreePersist_Update_WithExtsDifferentTypeOfChildren_ShouldEqualWhenLoaded()
        {
            try
            {
                var          con         = SetupTables();
                ITransaction transaction = CreateTransaction(con);

                RegisterForExternal();

                int id = 35;
                ITreeTestRootEntity rootEntity = CreateFullObjectTree(id, TYPE_EXTERNAL);
                rootEntity.Persist(transaction);
                transaction.Commit();

                transaction = CreateTransaction(con);
                ITreeTestRootEntity loadedEntity = new TreeTestRootEntityExt();
                LoadEntityWithId(transaction, loadedEntity, id);

                loadedEntity.Name                 = "changed-name";
                loadedEntity.Status               = EntityStatus.Modified;
                loadedEntity.One2OneEntity.Name   = "changed-one2one";
                loadedEntity.One2OneEntity.Status = EntityStatus.Modified;

                IEnumerator <ITreeTestOne2ManyEntity> enumerator = loadedEntity.One2ManyEntities.GetEnumerator();
                enumerator.MoveNext();

                ITreeTestOne2ManyEntity one2ManyEntity = enumerator.Current;
                one2ManyEntity.Name   = "changed-one2many";
                one2ManyEntity.Status = EntityStatus.Modified;

                loadedEntity.Persist(transaction);

                ITreeTestRootEntity reLoadedEntity = new TreeTestRootEntityExt();
                LoadEntityWithId(transaction, reLoadedEntity, id);
                con.Close();

                bool compareResult = CompareEntities(loadedEntity, reLoadedEntity);
                Assert.IsTrue(compareResult);
            }
            catch (System.Exception e)
            {
                LogManager.GetLogger(typeof(DbGateTreePersistTests)).Fatal("Exception during test", e);
                Assert.Fail(e.Message);
            }
        }
Exemplo n.º 2
0
        private ITreeTestRootEntity CreateFullObjectTree(int id, int type)
        {
            ITreeTestRootEntity entity = null;

            entity = (type == TYPE_ATTRIBUTE)
                         ? new TreeTestRootEntityAttributes()
                         : (type == TYPE_FIELD)
                               ? (ITreeTestRootEntity) new TreeTestRootEntityFields()
                               : new TreeTestRootEntityExt();
            entity.IdCol = id;
            entity.Name  = "root";

            ITreeTestOne2OneEntity one2OneEntity = null;

            one2OneEntity = (type == TYPE_ATTRIBUTE)
                                ? new TreeTestOne2OneEntityAttributes()
                                : (type == TYPE_FIELD)
                                      ? (ITreeTestOne2OneEntity) new TreeTestOne2OneEntityFields()
                                      : new TreeTestOne2OneEntityExt();
            one2OneEntity.IdCol  = id;
            one2OneEntity.Name   = "one2one";
            entity.One2OneEntity = one2OneEntity;

            ITreeTestOne2ManyEntity one2ManyEntity = null;

            one2ManyEntity = (type == TYPE_ATTRIBUTE)
                                 ? new TreeTestOne2ManyEntityAttributes()
                                 : (type == TYPE_FIELD)
                                       ? (ITreeTestOne2ManyEntity) new TreeTestOne2ManyEntityFields()
                                       : new TreeTestOne2ManyEntityExt();
            one2ManyEntity.IdCol    = id;
            one2ManyEntity.IndexNo  = 0;
            one2ManyEntity.Name     = "one2many";
            entity.One2ManyEntities = new List <ITreeTestOne2ManyEntity>();
            entity.One2ManyEntities.Add(one2ManyEntity);

            return(entity);
        }