Example #1
0
 public void Cyclical_references_are_supported()
 {
     {
         var r  = new Repository <Cyclocycle>(_sx);
         var c1 = new Cyclocycle {
             Id = "c1", Name = "Cycle1"
         };
         var c2 = new Cyclocycle {
             Id = "c2", Name = "Cycle2", Whoah = Reference.To(c1)
         };
         r.Save(c1);
         r.Save(c2);
         c1.Whoah = Reference.To(c2);
         r.Save(c1);
     }
     {
         var r   = new Repository <Cyclocycle>(_sx);
         var c1  = r.Get("c1");
         var c2  = c1.Whoah.Value;
         var c1a = c2.Whoah.Value;
         var c2a = c1a.Whoah.Value;
         Assert.That(c1a, Is.SameAs(c1));
         Assert.That(c2a, Is.SameAs(c2));
     }
 }
 public void Cyclical_references_are_supported()
 {
     {
         var r = new Repository<Cyclocycle>(_sx);
         var c1 = new Cyclocycle { Id = "c1", Name = "Cycle1" };
         var c2 = new Cyclocycle { Id = "c2", Name = "Cycle2", Whoah = Reference.To(c1) };
         r.Save(c1);
         r.Save(c2);
         c1.Whoah = Reference.To(c2);
         r.Save(c1);
     }
     {
         var r = new Repository<Cyclocycle>(_sx);
         var c1 = r.Get("c1");
         var c2 = c1.Whoah.Value;
         var c1a = c2.Whoah.Value;   
         var c2a = c1a.Whoah.Value;
         Assert.That(c1a, Is.SameAs(c1));
         Assert.That(c2a, Is.SameAs(c2));
     }
 }