Update of /cvsroot/nhibernate/nhibernate/src/NHibernate.Test
In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv22528/NHibernate.Test
Modified Files:
FumTest.cs
Log Message:
Modified some properties to follow .net naming standards and wrote
more test for composite ids.
Index: FumTest.cs
===================================================================
RCS file: /cvsroot/nhibernate/nhibernate/src/NHibernate.Test/FumTest.cs,v
retrieving revision 1.5
retrieving revision 1.6
diff -C2 -d -r1.5 -r1.6
*** FumTest.cs 9 Jun 2004 01:05:46 -0000 1.5
--- FumTest.cs 18 Jun 2004 13:48:11 -0000 1.6
***************
*** 1,3 ****
--- 1,4 ----
using System;
+ using System.Collections;
using NHibernate.DomainModel;
***************
*** 9,13 ****
/// <summary>
! /// Summary description for FumTest.
/// </summary>
[TestFixture]
--- 10,14 ----
/// <summary>
! /// FumTest handles testing Composite Ids.
/// </summary>
[TestFixture]
***************
*** 80,92 ****
[Test]
- [Ignore("Test not yet written")]
public void ListIdentifiers()
{
}
[Test]
- [Ignore("Test not yet written")]
public void CompositeID()
{
}
--- 81,165 ----
[Test]
public void ListIdentifiers()
{
+ ISession s = sessions.OpenSession();
+ Fum fum = new Fum( FumTest.FumKey("fum") );
+ fum.FumString = "fo fee fi";
+ s.Save(fum);
+
+ fum = new Fum( FumTest.FumKey("fi") );
+ fum.FumString = "fee fi fo";
+ s.Save(fum);
+
+ // not doing a flush because the Find will do an auto flush unless we tell the session a
+ // different FlushMode
+ IList list = s.Find("select fum.Id from fum in class NHibernate.DomainModel.Fum where not fum.FumString = 'FRIEND'");
+
+ Assert.AreEqual(2, list.Count, "List Identifiers");
+
+ IEnumerator enumerator = s.Enumerable("select fum.Id from fum in class NHibernate.DomainModel.Fum where not fum.FumString='FRIEND'").GetEnumerator();
+ int i = 0;
+ while(enumerator.MoveNext())
+ {
+ Assert.IsTrue(enumerator.Current is FumCompositeID, "Iterating Identifiers");
+ i++;
+ }
+
+ Assert.AreEqual(2, i, "Number of Ids found.");
+
+ // clean up by deleting the 2 Fum objects that were added.
+ s.Delete( s.Load( typeof(Fum), list[0] ) );
+ s.Delete( s.Load( typeof(Fum), list[1] ) );
+ s.Flush();
+ s.Close();
+
+
}
[Test]
public void CompositeID()
{
+ ISession s = sessions.OpenSession();
+ Fum fum = new Fum( FumTest.FumKey("fum") );
+ fum.FumString = "fee fi fo";
+ s.Save(fum);
+
+ Assert.AreSame( fum, s.Load( typeof(Fum), FumTest.FumKey("fum"), LockMode.Upgrade ) );
+ s.Flush();
+ s.Close();
+
+ s = sessions.OpenSession();
+ fum = (Fum) s.Load( typeof(Fum), FumTest.FumKey("fum"), LockMode.Upgrade );
+ Assert.IsNotNull(fum, "Load by composite key");
+
+ Fum fum2 = new Fum( FumTest.FumKey("fi") );
+ fum2.FumString = "fee fo fi";
+ fum.Fo = fum2;
+ s.Save(fum2);
+
+ IList list = s.Find("from fum in class NHibernate.DomainModel.Fum where not fum.FumString='FRIEND'");
+ Assert.AreEqual(2, list.Count, "Find a List of Composite Keyed objects");
+
+ IList list2 = s.Find("select fum from fum in class NHibernate.DomainModel.Fum where fum.FumString='fee fi fo'");
+ Assert.AreEqual(fum, (Fum)list2[0], "Find one Composite Keyed object");
+
+ fum.Fo = null;
+ s.Flush();
+ s.Close();
+
+ s = sessions.OpenSession();
+ IEnumerator enumerator = s.Enumerable("from fum in class NHibernate.DomainModel.Fum where not fum.FumString='FRIEND'").GetEnumerator();
+ int i = 0;
+ while(enumerator.MoveNext())
+ {
+ fum = (Fum) enumerator.Current;
+ s.Delete(fum);
+ i++;
+ }
+
+ Assert.AreEqual(2, i, "Iterate on Composite Key");
+ s.Flush();
+ s.Close();
+
}
***************
*** 96,100 ****
ISession s = sessions.OpenSession();
Fum fum = new Fum( FumKey("fum") );
! fum.fum = "fee fi fo";
//s.Save(fum); commented out in h2.0.3
Fumm fumm = new Fumm();
--- 169,173 ----
ISession s = sessions.OpenSession();
Fum fum = new Fum( FumKey("fum") );
! fum.FumString = "fee fi fo";
//s.Save(fum); commented out in h2.0.3
Fumm fumm = new Fumm();
|