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.)
|