Update of /cvsroot/nhibernate/nhibernate/src/NHibernate.Test
In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv17378/NHibernate.Test
Modified Files:
FooBarTest.cs
Log Message:
Implemented more tests.
Index: FooBarTest.cs
===================================================================
RCS file: /cvsroot/nhibernate/nhibernate/src/NHibernate.Test/FooBarTest.cs,v
retrieving revision 1.38
retrieving revision 1.39
diff -C2 -d -r1.38 -r1.39
*** FooBarTest.cs 6 Jul 2004 21:12:49 -0000 1.38
--- FooBarTest.cs 7 Jul 2004 05:17:19 -0000 1.39
***************
*** 1473,1485 ****
[Test]
- [Ignore("Test not written yet.")]
public void PersistentLifecycle()
{
}
[Test]
! [Ignore("Test not written yet.")]
public void Iterators()
{
}
--- 1473,1549 ----
[Test]
public void PersistentLifecycle()
{
+ ISession s = sessions.OpenSession();
+ Qux q = new Qux();
+ s.Save(q);
+ q.Stuff = "foo bar baz qux";
+ s.Flush();
+ s.Close();
+
+ s = sessions.OpenSession();
+ q = (Qux)s.Load( typeof(Qux), q.Key );
+ Assert.IsTrue( q.Created, "lifecycle create" );
+ Assert.IsTrue( q.Loaded, "lifecycle load" );
+ Assert.IsNotNull( q.Foo, "lifecycle subobject" );
+ s.Delete(q);
+ Assert.IsTrue( q.Deleted, "lifecyle delete" );
+ s.Flush();
+ s.Close();
+
+ s = sessions.OpenSession();
+ Assert.AreEqual(0, s.Find("from foo in class NHibernate.DomainModel.Foo").Count, "subdeletion");
+ s.Flush();
+ s.Close();
+
}
[Test]
! //[Ignore("Test not written yet.")]
public void Iterators()
{
+ ISession s = sessions.OpenSession();
+ for( int i=0; i<10; i++ )
+ {
+ Qux q = new Qux();
+ object qid = s.Save(q);
+ Assert.IsNotNull(q, "q is not null");
+ Assert.IsNotNull(qid, "qid is not null");
+ }
+ s.Flush();
+ s.Close();
+
+ s = sessions.OpenSession();
+ IEnumerator enumer = s.Enumerable("from q in class NHibernate.DomainModel.Qux where q.Stuff is null").GetEnumerator();
+ int count = 0;
+ while( enumer.MoveNext() )
+ {
+ Qux q = (Qux)enumer.Current;
+ q.Stuff = "foo";
+ // can't remove item from IEnumerator in .net
+ //if (count==0 || count==5) enumer.Remove();
+ count++;
+ }
+
+ Assert.AreEqual(10, count, "found 10 items");
+ s.Flush();
+ s.Close();
+
+ s = sessions.OpenSession();
+
+ Assert.AreEqual(10,
+ s.Delete("from q in class NHibernate.DomainModel.Qux where q.Stuff=?", "foo", NHibernate.String),
+ "delete by query");
+
+ s.Flush();
+ s.Close();
+
+ s = sessions.OpenSession();
+ enumer = s.Enumerable("from q in class NHibernate.DomainModel.Qux").GetEnumerator();
+ Assert.IsFalse( enumer.MoveNext() , "no items in enumerator" );
+ s.Flush();
+ s.Close();
+
+
}
|