コード例 #1
0
        private void VerifyEquals(SuperEntityRefRootEntity rootEntity, SuperEntityRefRootEntity loadedRootEntity)
        {
            Assert.AreEqual(loadedRootEntity.IdCol, rootEntity.IdCol);
            Assert.AreEqual(loadedRootEntity.Name, rootEntity.Name);

            foreach (SuperEntityRefOne2ManyEntity one2ManyEntity in rootEntity.One2ManyEntities)
            {
                bool foundItem = false;
                foreach (SuperEntityRefOne2ManyEntity loadedOne2ManyEntity in loadedRootEntity.One2ManyEntities)
                {
                    if (one2ManyEntity.IndexNo == loadedOne2ManyEntity.IndexNo)
                    {
                        foundItem = true;
                        Assert.AreEqual(one2ManyEntity.GetType(), loadedOne2ManyEntity.GetType());
                        Assert.AreEqual(one2ManyEntity.Name, loadedOne2ManyEntity.Name);

                        if (one2ManyEntity.GetType() == typeof(SuperEntityRefOne2ManyEntityA))
                        {
                            SuperEntityRefOne2ManyEntityA one2ManyEntityA       = (SuperEntityRefOne2ManyEntityA)one2ManyEntity;
                            SuperEntityRefOne2ManyEntityA loadedOne2ManyEntityA = (SuperEntityRefOne2ManyEntityA)loadedOne2ManyEntity;
                            Assert.AreEqual(one2ManyEntityA.NameA, loadedOne2ManyEntityA.NameA);
                        }
                        else if (one2ManyEntity.GetType() == typeof(SuperEntityRefOne2ManyEntityB))
                        {
                            SuperEntityRefOne2ManyEntityB one2ManyEntityA       = (SuperEntityRefOne2ManyEntityB)one2ManyEntity;
                            SuperEntityRefOne2ManyEntityB loadedOne2ManyEntityA = (SuperEntityRefOne2ManyEntityB)loadedOne2ManyEntity;
                            Assert.AreEqual(one2ManyEntityA.NameB, loadedOne2ManyEntityA.NameB);
                        }
                    }
                }
                Assert.IsTrue(foundItem, "Item rootEntity not found");
            }

            SuperEntityRefOne2OneEntity one2OneEntity       = rootEntity.One2OneEntity;
            SuperEntityRefOne2OneEntity loadedOne2OneEntity = loadedRootEntity.One2OneEntity;

            if (one2OneEntity == null || loadedOne2OneEntity == null)
            {
                Assert.IsTrue(one2OneEntity == loadedOne2OneEntity, "One entity is null while other is not");
            }
            else
            {
                Assert.AreEqual(one2OneEntity.GetType(), loadedOne2OneEntity.GetType());
                Assert.AreEqual(one2OneEntity.Name, loadedOne2OneEntity.Name);

                loadedOne2OneEntity = loadedRootEntity.One2OneEntity; //in case of lazy loading
                if (one2OneEntity.GetType() == typeof(SuperEntityRefOne2OneEntityA))
                {
                    SuperEntityRefOne2OneEntityA one2OneEntityA       = (SuperEntityRefOne2OneEntityA)one2OneEntity;
                    SuperEntityRefOne2OneEntityA loadedOne2OneEntityA = (SuperEntityRefOne2OneEntityA)loadedOne2OneEntity;
                    Assert.AreEqual(one2OneEntityA.NameA, loadedOne2OneEntityA.NameA);
                }
                else if (one2OneEntity.GetType() == typeof(SuperEntityRefOne2OneEntityB))
                {
                    SuperEntityRefOne2OneEntityB one2OneEntityB       = (SuperEntityRefOne2OneEntityB)one2OneEntity;
                    SuperEntityRefOne2OneEntityB loadedOne2OneEntityB = (SuperEntityRefOne2OneEntityB)loadedOne2OneEntity;
                    Assert.AreEqual(one2OneEntityB.NameB, loadedOne2OneEntityB.NameB);
                }
            }
        }
コード例 #2
0
        private SuperEntityRefOne2OneEntity CreateOne2One(bool typeA, String entityText)
        {
            SuperEntityRefOne2OneEntity entity = typeA
                                                         ? new SuperEntityRefOne2OneEntityA()
                                                         : (SuperEntityRefOne2OneEntity) new SuperEntityRefOne2OneEntityB();

            entity.Name = "OO-S-(" + entityText + ")";
            if (entity.GetType() == typeof(SuperEntityRefOne2OneEntityA))
            {
                ((SuperEntityRefOne2OneEntityA)entity).NameA = "OO-A-(" + entityText + ")";
            }
            else if (entity.GetType() == typeof(SuperEntityRefOne2OneEntityB))
            {
                ((SuperEntityRefOne2OneEntityB)entity).NameB = "OO-B-(" + entityText + ")";
            }
            return(entity);
        }