Esempio n. 1
0
        public void TestAssociationToEndList2List()
        {
            var model   = new MutableModel();
            var factory = new PropertiesTestFactory(model);
            var assoc   = factory.Association();
            var end1    = factory.AssociationEndList();
            var end2    = factory.AssociationEndList();

            assoc.FirstList.Add(end1);
            Assert.True(assoc.FirstList.Count == 1);
            Assert.True(assoc.SecondList.Count == 0);
            Assert.Contains(end1, assoc.FirstList);
            Assert.Equal(assoc, end1.Association);
            Assert.Null(end2.Association);
            assoc.SecondList.Add(end2);
            Assert.True(assoc.FirstList.Count == 1);
            Assert.True(assoc.SecondList.Count == 1);
            Assert.Contains(end1, assoc.FirstList);
            Assert.Contains(end2, assoc.SecondList);
            Assert.Equal(assoc, end1.Association);
            Assert.Equal(assoc, end2.Association);
            var imodel = model.ToImmutable();
            var iassoc = assoc.ToImmutable(imodel);
            var iend1  = end1.ToImmutable(imodel);
            var iend2  = end2.ToImmutable(imodel);

            Assert.Contains(iend1, iassoc.FirstList);
            Assert.Contains(iend2, iassoc.SecondList);
            Assert.Equal(iassoc, iend1.Association);
            Assert.Equal(iassoc, iend2.Association);
        }
Esempio n. 2
0
        public void TestEndToAssociationResetList2List()
        {
            var model   = new MutableModel();
            var factory = new PropertiesTestFactory(model);
            var assoc   = factory.Association();
            var end     = factory.AssociationEndList();

            end.Association = assoc;
            Assert.True(assoc.FirstList.Count == 1);
            Assert.True(assoc.SecondList.Count == 1);
            Assert.Contains(end, assoc.FirstList);
            Assert.Contains(end, assoc.SecondList);
            Assert.Equal(assoc, end.Association);
            end.Association = null;
            Assert.True(assoc.FirstList.Count == 0);
            Assert.True(assoc.SecondList.Count == 0);
            Assert.Null(end.Association);
            var imodel = model.ToImmutable();
            var iassoc = assoc.ToImmutable(imodel);
            var iend   = end.ToImmutable(imodel);

            Assert.Null(iassoc.First);
            Assert.Null(iassoc.Second);
            Assert.Null(iend.Association);
        }