From: Michael D. <mik...@us...> - 2004-07-24 20:52:00
|
Update of /cvsroot/nhibernate/nhibernate/src/NHibernate.Examples/Cascades In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv23374/Cascades Added Files: Alias.cs Alias.hbm.xml CascadeFixture.cs Child.cs Child.hbm.xml Parent.cs Parent.hbm.xml Log Message: Adding examples into cvs. --- NEW FILE: Parent.cs --- using System; using System.Collections; namespace NHibernate.Examples.Cascades { /// <summary> /// Summary description for Parent. /// </summary> public class Parent { int id; string name; IDictionary children; IDictionary aliases; static object emptyObject = new object(); public int Id { get { return id; } set { id = value; } } public string Name { get { return name; } set { name = value; } } private IDictionary ChildrenSet { get { if (children==null) children = new Hashtable(); return children; } set { children = value; } } public ICollection Children { get { return ChildrenSet;} } public void AddChild(Child child) { ChildrenSet[child] = emptyObject; child.SingleParent = this; } public IDictionary Aliases { get { if(aliases==null) aliases = new Hashtable(); return aliases; } set { aliases = value; } } } } --- NEW FILE: CascadeFixture.cs --- using System; using System.Collections; using NHibernate.Cfg; using NHibernate.Tool.hbm2ddl; using NUnit.Framework; namespace NHibernate.Examples.Cascades { /// <summary> /// Summary description for CascadeFixture. /// </summary> [TestFixture] public class CascadeFixture { ISessionFactory factory = null; Configuration cfg = null; [SetUp] public void SetUp() { cfg = new Configuration(); cfg.AddAssembly("NHibernate.Examples"); new SchemaExport(cfg).Create(true, true); factory = cfg.BuildSessionFactory(); } [TearDown] public void TearDown() { //new SchemaExport(cfg).Drop(true, true); } [Test] public void Insert() { ISession session = factory.OpenSession(); Parent dad = new Parent(); dad.Name = "the dad"; Child boy = new Child(); boy.Name = "the boy"; boy.SingleParent = dad; Child girl = new Child(); girl.Name = "the girl"; girl.SingleParent = dad; dad.AddChild(boy); dad.AddChild(girl); session.SaveOrUpdate(dad); dad.Aliases.Add("a1", new Alias("Daddy", "u") ); dad.Aliases.Add("a2", new Alias("Father", "f") ); session.Flush(); session.Close(); int boyId = boy.Id; int girlId = girl.Id; int dadId = dad.Id; session = factory.OpenSession(); dad = (Parent) session.Load( typeof(Parent), dadId ); foreach (Child child in dad.Children) { if (child.Name=="the girl") { Assert.AreEqual(girlId, child.Id); } else { Assert.AreEqual(boyId, child.Id); } } } } } --- NEW FILE: Alias.cs --- using System; namespace NHibernate.Examples.Cascades { /// <summary> /// Summary description for Alias. /// </summary> public class Alias { private int id; private string name; private string type; public Alias() { } public Alias(string name, string type) { this.name = name; this.type = type; } public int Id { get { return id;} set { id = value; } } public string Name { get { return name; } set { name = value; } } public string Type { get { return type; } set { type = value; } } } } --- NEW FILE: Alias.hbm.xml --- (This appears to be a binary file; contents omitted.) --- NEW FILE: Child.hbm.xml --- (This appears to be a binary file; contents omitted.) --- NEW FILE: Child.cs --- using System; using System.Collections; namespace NHibernate.Examples.Cascades { /// <summary> /// Summary description for Child. /// </summary> public class Child { int id; string name; Parent singleParent; public int Id { get { return id; } set { id = value; } } public string Name { get { return name; } set { name = value; } } public Parent SingleParent { get { return singleParent; } set { singleParent = value; } } } } --- NEW FILE: Parent.hbm.xml --- (This appears to be a binary file; contents omitted.) |