Example #1
0
        public void TestOneToMany()
        {
            var group1 = new FooGroup();
            var group2 = new FooGroup();
            var foo1   = new Foo();
            var foo2   = new Foo();

            Assert.AreEqual(0, group1.Foos.Count);
            Assert.AreEqual(null, foo1.Group);
            Assert.AreEqual(null, foo2.Group);

            foo1.Group = group1;
            Assert.AreEqual(1, group1.Foos.Count);
            Assert.AreEqual(group1, foo1.Group);
            Assert.AreEqual(null, foo2.Group);

            foo1.Group = null;
            Assert.AreEqual(0, group1.Foos.Count);
            Assert.AreEqual(null, foo1.Group);
            Assert.AreEqual(null, foo2.Group);

            group1.Foos.Add(foo2);
            Assert.AreEqual(1, group1.Foos.Count);
            Assert.AreEqual(null, foo1.Group);
            Assert.AreEqual(group1, foo2.Group);

            group1.Foos.Add(foo1);
            Assert.AreEqual(2, group1.Foos.Count);
            Assert.AreEqual(group1, foo1.Group);
            Assert.AreEqual(group1, foo2.Group);

            group2.Foos.Add(foo1);
            Assert.AreEqual(1, group1.Foos.Count);
            Assert.AreEqual(1, group2.Foos.Count);
            Assert.AreEqual(group2, foo1.Group);
            Assert.AreEqual(group1, foo2.Group);
        }
 public Dest(FooDest fooDest)
 {
     FooGroup = new FooGroup {
         FooDest = fooDest
     };
 }