From: Michael D. <mik...@us...> - 2004-07-05 20:38:55
|
Update of /cvsroot/nhibernate/nhibernate/src/NHibernate.Test In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv31520/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.35 retrieving revision 1.36 diff -C2 -d -r1.35 -r1.36 *** FooBarTest.cs 2 Jul 2004 19:40:12 -0000 1.35 --- FooBarTest.cs 5 Jul 2004 20:38:46 -0000 1.36 *************** *** 789,793 **** [Test] - //[Ignore("Test not written yet.")] public void CascadeSave() { --- 789,792 ---- *************** *** 810,816 **** s.Delete(baz); ! //TODO: don't have an s.iterate() equivalent built ! IList fees = s.Find("from fee in class Fee"); ! Assert.AreEqual(0, fees.Count); t.Commit(); s.Close(); --- 809,814 ---- s.Delete(baz); ! IEnumerable enumerable = s.Enumerable("from fee in class Fee"); ! Assert.IsFalse( enumerable.GetEnumerator().MoveNext() ); t.Commit(); s.Close(); *************** *** 932,938 **** [Test] - [Ignore("Test not written yet.")] public void NewFlushing() { } --- 930,1002 ---- [Test] public void NewFlushing() { + ISession s = sessions.OpenSession(); + Baz baz = new Baz(); + baz.SetDefaults(); + s.Save(baz); + s.Flush(); + + baz.StringArray[0] = "a new value"; + IEnumerator enumer = s.Enumerable("from baz in class Baz").GetEnumerator(); // no flush + Assert.IsTrue( enumer.MoveNext() ); + Assert.AreSame( baz, enumer.Current ); + + enumer = s.Enumerable("select baz.StringArray.elements from baz in class Baz").GetEnumerator(); + bool found = false; + while (enumer.MoveNext() ) + { + if ( enumer.Current.Equals("a new value") ) + { + found = true; + } + } + Assert.IsTrue(found); + + baz.StringArray = null; + s.Enumerable("from baz in class Baz"); // no flush + enumer = s.Enumerable("select baz.StringArray.elements from baz in class Baz").GetEnumerator(); + Assert.IsFalse( enumer.MoveNext() ); + + baz.StringList.Add("1E1"); + enumer = s.Enumerable("from foo in class Foo").GetEnumerator(); // no flush + Assert.IsFalse( enumer.MoveNext() ); + + enumer = s.Enumerable("select baz.StringList.elements from baz in class Baz").GetEnumerator(); + found = false; + while( enumer.MoveNext() ) + { + if( enumer.Current.Equals("1E1") ) + { + found = true; + } + } + Assert.IsTrue(found); + + baz.StringList.Remove("1E1"); + s.Enumerable("select baz.StringArray.elements from baz in class Baz");//no flush + enumer = s.Enumerable("select baz.StringList.elements from baz in class Baz").GetEnumerator(); + found = false; + while( enumer.MoveNext() ) + { + if( enumer.Current.Equals("1E1") ) + { + found = true; + } + } + Assert.IsFalse(found); + + IList newList = new ArrayList(); + newList.Add("value"); + baz.StringList = newList; + enumer = s.Enumerable("from foo in class Foo").GetEnumerator(); //no flush + baz.StringList = null; + enumer = s.Enumerable("select baz.StringList.elements from baz in class Baz").GetEnumerator(); + Assert.IsFalse( enumer.MoveNext() ); + + s.Delete(baz); + s.Flush(); + s.Close(); + } *************** *** 944,950 **** [Test] - [Ignore("Test not written yet.")] public void SaveFlush() { } --- 1008,1027 ---- [Test] public void SaveFlush() { + ISession s = sessions.OpenSession(); + Fee fee = new Fee(); + s.Save( fee, "key" ); + fee.Fi = "blah"; + s.Flush(); + s.Close(); + + s = sessions.OpenSession(); + fee = (Fee)s.Load( typeof(Fee), fee.Key ); + Assert.AreEqual( "blah", fee.Fi ); + Assert.AreEqual( "key", fee.Key ); + s.Delete(fee); + s.Flush(); + s.Close(); } |