From: Michael D. <mik...@us...> - 2004-08-20 15:34:16
|
Update of /cvsroot/nhibernate/nhibernate/src/NHibernate.Test In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv25261/NHibernate.Test Modified Files: FumTest.cs MasterDetailTest.cs Log Message: Fixed the tests that were failing because of Hql problems. Index: MasterDetailTest.cs =================================================================== RCS file: /cvsroot/nhibernate/nhibernate/src/NHibernate.Test/MasterDetailTest.cs,v retrieving revision 1.11 retrieving revision 1.12 diff -C2 -d -r1.11 -r1.12 *** MasterDetailTest.cs 16 Aug 2004 05:15:10 -0000 1.11 --- MasterDetailTest.cs 20 Aug 2004 15:34:05 -0000 1.12 *************** *** 115,119 **** [Test] ! [Ignore("HQL bugs - http://jira.nhibernate.org:8080/browse/NH-79, http://jira.nhibernate.org:8080/browse/NH-80")] public void MasterDetail() { --- 115,119 ---- [Test] ! [Ignore("HQL bugs - http://jira.nhibernate.org:8080/browse/NH-79")] public void MasterDetail() { *************** *** 205,209 **** - // rest of the test depends on ISession.Filter() working s = sessions.OpenSession(); t = s.BeginTransaction(); --- 205,208 ---- *************** *** 213,218 **** Assert.AreEqual( 2, s.Filter( master.Details, "order by this.I desc").Count ); Assert.AreEqual( 2, s.Filter( master.Details, "select this where this.id > -1").Count ); ! /* ! * TODO: Filter is not working well... IQuery q = s.CreateFilter( master.Details, "where this.id > :id" ); q.SetInt32("id", -1); --- 212,216 ---- Assert.AreEqual( 2, s.Filter( master.Details, "order by this.I desc").Count ); Assert.AreEqual( 2, s.Filter( master.Details, "select this where this.id > -1").Count ); ! IQuery q = s.CreateFilter( master.Details, "where this.id > :id" ); q.SetInt32("id", -1); *************** *** 234,246 **** Assert.AreEqual( 1, q.List().Count ); Assert.IsTrue( q.Enumerable().GetEnumerator().MoveNext() ); ! */ Assert.AreEqual( 2, s.Filter( master.Details, "where this.id > -1").Count ); Assert.AreEqual( 2, s.Filter( master.Details, "select this.Master where this.id > -1").Count ); Assert.AreEqual( 2, s.Filter( master.Details, "select m from m in class Master where this.id > -1 and this.Master=m").Count ); ! Assert.AreEqual( 0, s.Filter( master.Incoming.Keys, "where this.id > -1 and this.Name is not null").Count ); } --- 232,294 ---- Assert.AreEqual( 1, q.List().Count ); Assert.IsTrue( q.Enumerable().GetEnumerator().MoveNext() ); ! Assert.AreEqual( 2, s.Filter( master.Details, "where this.id > -1").Count ); Assert.AreEqual( 2, s.Filter( master.Details, "select this.Master where this.id > -1").Count ); Assert.AreEqual( 2, s.Filter( master.Details, "select m from m in class Master where this.id > -1 and this.Master=m").Count ); ! Assert.AreEqual( 0, s.Filter( master.Incoming, "where this.id > -1 and this.Name is not null").Count ); ! ! IQuery filter = s.CreateFilter( master.Details, "select max(this.I)"); ! enumer = filter.Enumerable().GetEnumerator(); ! Assert.IsTrue( enumer.MoveNext() ); ! Assert.IsTrue( enumer.Current is Int32 ); ! ! filter = s.CreateFilter( master.Details, "select max(this.I) group by this.id" ); ! enumer = filter.Enumerable().GetEnumerator(); ! Assert.IsTrue( enumer.MoveNext() ); ! Assert.IsTrue( enumer.Current is Int32 ); ! ! filter = s.CreateFilter( master.Details, "select count(*)" ); ! enumer = filter.Enumerable().GetEnumerator(); ! Assert.IsTrue( enumer.MoveNext() ); ! Assert.IsTrue( enumer.Current is Int32 ); ! ! Assert.AreEqual( 2, s.CreateFilter( master.Details, "select this.Master" ).List().Count ); ! ! IQuery f = s.CreateFilter( master.Details, "select max(this.I) where this.I < :top and this.I>=:bottom" ); ! f.SetInt32("top", 100); ! f.SetInt32("bottom", 0); + enumer = f.Enumerable().GetEnumerator(); + Assert.IsTrue( enumer.MoveNext() ); + Assert.AreEqual( 12, enumer.Current ); + + f.SetInt32("top", 2); + enumer = f.Enumerable().GetEnumerator(); + Assert.IsTrue( enumer.MoveNext() ); + Assert.AreEqual( 0, enumer.Current ); + + f = s.CreateFilter( master.Details, "select max(this.I) where this.I not in (:list)" ); + IList coll = new ArrayList(); + coll.Add(-666); + coll.Add(22); + coll.Add(0); + f.SetParameterList("list", coll); + enumer = f.Enumerable().GetEnumerator(); + Assert.IsTrue( enumer.MoveNext() ); + Assert.AreEqual( 12, enumer.Current ); + i = 0; + foreach( Detail d in master.Details.Keys ) + { + Assert.AreSame( master, d.Master, "master-detail" ); + s.Delete(d); + i++; + } + Assert.AreEqual( 2, i, "master-detail" ); + s.Delete(master); + t.Commit(); + s.Close(); } Index: FumTest.cs =================================================================== RCS file: /cvsroot/nhibernate/nhibernate/src/NHibernate.Test/FumTest.cs,v retrieving revision 1.12 retrieving revision 1.13 diff -C2 -d -r1.12 -r1.13 *** FumTest.cs 14 Aug 2004 14:57:48 -0000 1.12 --- FumTest.cs 20 Aug 2004 15:34:05 -0000 1.13 *************** *** 193,197 **** [Test] - [Ignore("Filter() and multi-column Types. Everything else passes. http://jira.nhibernate.org:8080/browse/NH-96")] public void CompositeIDQuery() { --- 193,196 ---- *************** *** 257,261 **** fum = (Fum)s.Load( typeof(Fum), fum.Id ); - //TODO: http://jira.nhibernate.org:8080/browse/NH-96 bug is here s.Filter( fum.QuxArray, "where this.Foo is null" ); s.Filter( fum.QuxArray, "where this.Foo.id = ?", "fooid", NHibernate.String ); --- 256,259 ---- |