|
From: <fab...@us...> - 2009-04-24 06:17:32
|
Revision: 4209
http://nhibernate.svn.sourceforge.net/nhibernate/?rev=4209&view=rev
Author: fabiomaulo
Date: 2009-04-24 06:17:30 +0000 (Fri, 24 Apr 2009)
Log Message:
-----------
- Minor (reformatting)
- Added methods to apply a test for a specific QueryTranslator
Modified Paths:
--------------
trunk/nhibernate/src/NHibernate.Test/HQL/Ast/BaseFixture.cs
trunk/nhibernate/src/NHibernate.Test/Legacy/FooBarTest.cs
trunk/nhibernate/src/NHibernate.Test/TestCase.cs
Modified: trunk/nhibernate/src/NHibernate.Test/HQL/Ast/BaseFixture.cs
===================================================================
--- trunk/nhibernate/src/NHibernate.Test/HQL/Ast/BaseFixture.cs 2009-04-23 20:31:58 UTC (rev 4208)
+++ trunk/nhibernate/src/NHibernate.Test/HQL/Ast/BaseFixture.cs 2009-04-24 06:17:30 UTC (rev 4209)
@@ -2,7 +2,6 @@
using NHibernate.Hql.Ast.ANTLR;
using System.Collections.Generic;
using NHibernate.Util;
-using NUnit.Framework;
namespace NHibernate.Test.HQL.Ast
{
@@ -10,12 +9,9 @@
{
private readonly IDictionary<string, IFilter> emptyfilters = new CollectionHelper.EmptyMapClass<string, IFilter>();
- protected override void OnSetUp()
+ protected override bool AppliesTo(Engine.ISessionFactoryImplementor factory)
{
- if (!(sessions.Settings.QueryTranslatorFactory is ASTQueryTranslatorFactory))
- {
- Assert.Ignore("ASTQueryTranslator specific test");
- }
+ return sessions.Settings.QueryTranslatorFactory is ASTQueryTranslatorFactory;
}
#region Overrides of TestCase
Modified: trunk/nhibernate/src/NHibernate.Test/Legacy/FooBarTest.cs
===================================================================
--- trunk/nhibernate/src/NHibernate.Test/Legacy/FooBarTest.cs 2009-04-23 20:31:58 UTC (rev 4208)
+++ trunk/nhibernate/src/NHibernate.Test/Legacy/FooBarTest.cs 2009-04-24 06:17:30 UTC (rev 4209)
@@ -514,19 +514,20 @@
{
if (!(Dialect is FirebirdDialect))
{
- if (IsClassicParser)
- {
- list =
- s.CreateQuery("from foo in class NHibernate.DomainModel.Foo where ? = some foo.Component.ImportantDates.elements")
- .SetDateTime(0, DateTime.Today).List();
-
- }
- else
- {
- list =
- s.CreateQuery("from foo in class NHibernate.DomainModel.Foo where ? = some elements(foo.Component.ImportantDates)")
- .SetDateTime(0, DateTime.Today).List();
- }
+ if (IsClassicParser)
+ {
+ list =
+ s.CreateQuery("from foo in class NHibernate.DomainModel.Foo where ? = some foo.Component.ImportantDates.elements")
+ .SetDateTime(0, DateTime.Today).List();
+
+ }
+ else
+ {
+ list =
+ s.CreateQuery(
+ "from foo in class NHibernate.DomainModel.Foo where ? = some elements(foo.Component.ImportantDates)").
+ SetDateTime(0, DateTime.Today).List();
+ }
Assert.AreEqual(2, list.Count, "component query");
}
@@ -601,18 +602,19 @@
IsEmpty(s.CreateQuery("from bar in class Bar where bar.String='a string' or bar.String='a string'").Enumerable()
));
- if (IsClassicParser)
- {
- enumerable = s.CreateQuery(
- "select foo.Component.Name, foo.Component.ImportantDates.elements from foo in class Foo where foo.TheFoo.id=?"
- ).SetString(0, foo.TheFoo.Key).Enumerable();
- }
- else
- {
- enumerable = s.CreateQuery(
- "select foo.Component.Name, elements(foo.Component.ImportantDates) from foo in class Foo where foo.TheFoo.id=?"
- ).SetString(0, foo.TheFoo.Key).Enumerable();
- }
+ if (IsClassicParser)
+ {
+ enumerable = s.CreateQuery(
+ "select foo.Component.Name, foo.Component.ImportantDates.elements from foo in class Foo where foo.TheFoo.id=?"
+ ).SetString(0, foo.TheFoo.Key).Enumerable();
+ }
+ else
+ {
+ enumerable =
+ s.CreateQuery(
+ "select foo.Component.Name, elements(foo.Component.ImportantDates) from foo in class Foo where foo.TheFoo.id=?").
+ SetString(0, foo.TheFoo.Key).Enumerable();
+ }
int i = 0;
foreach (object[] row in enumerable)
@@ -623,18 +625,18 @@
}
Assert.AreEqual(3, i); //WAS: 4
- if (IsClassicParser)
- {
- enumerable = s.CreateQuery(
- "select max(foo.Component.ImportantDates.elements) from foo in class Foo group by foo.id"
- ).Enumerable();
- }
- else
- {
- enumerable = s.CreateQuery(
- "select max(elements(foo.Component.ImportantDates)) from foo in class Foo group by foo.id"
- ).Enumerable();
- }
+ if (IsClassicParser)
+ {
+ enumerable = s.CreateQuery(
+ "select max(foo.Component.ImportantDates.elements) from foo in class Foo group by foo.id"
+ ).Enumerable();
+ }
+ else
+ {
+ enumerable =
+ s.CreateQuery("select max(elements(foo.Component.ImportantDates)) from foo in class Foo group by foo.id").
+ Enumerable();
+ }
IEnumerator enumerator = enumerable.GetEnumerator();
Assert.IsTrue(enumerator.MoveNext());
@@ -838,18 +840,18 @@
"from Baz baz where 'a' in elements(baz.CollectionComponent.Nested.Foos) and 1.0 in elements(baz.CollectionComponent.Nested.Floats)")
.List();
- if (IsClassicParser)
- {
- s.CreateQuery(
- "from Baz baz where 'b' in baz.CollectionComponent.Nested.Foos.elements and 1.0 in baz.CollectionComponent.Nested.Floats.elements")
- .List();
- }
- else
- {
- s.CreateQuery(
- "from Baz baz where 'b' in elements(baz.CollectionComponent.Nested.Foos) and 1.0 in elements(baz.CollectionComponent.Nested.Floats)")
- .List();
- }
+ if (IsClassicParser)
+ {
+ s.CreateQuery(
+ "from Baz baz where 'b' in baz.CollectionComponent.Nested.Foos.elements and 1.0 in baz.CollectionComponent.Nested.Floats.elements")
+ .List();
+ }
+ else
+ {
+ s.CreateQuery(
+ "from Baz baz where 'b' in elements(baz.CollectionComponent.Nested.Foos) and 1.0 in elements(baz.CollectionComponent.Nested.Floats)")
+ .List();
+ }
}
s.CreateQuery("from Foo foo join foo.TheFoo where foo.TheFoo in ('1','2','3')").List();
@@ -2441,16 +2443,10 @@
s.CreateQuery(hql).List();
}
- if (IsClassicParser)
- {
- hql = "select fum1.Friends.elements from fum1 in class Fum";
- }
- else
- {
- hql = "select elements(fum1.Friends) from fum1 in class Fum";
- }
- s.CreateQuery(hql).List();
+ hql = IsClassicParser ? "select fum1.Friends.elements from fum1 in class Fum" : "select elements(fum1.Friends) from fum1 in class Fum";
+ s.CreateQuery(hql).List();
+
hql = "from fum1 in class Fum, fr in elements( fum1.Friends )";
s.CreateQuery(hql).List();
@@ -2579,14 +2575,14 @@
Assert.AreEqual(1, s.CreateQuery("from Bar bar join bar.Baz.FooArray foo").List().Count);
- if (IsClassicParser)
- {
- Assert.AreEqual(0, s.CreateQuery("from bar in class Bar, foo in bar.Baz.FooSet.elements").List().Count);
- }
- else
- {
- Assert.AreEqual(0, s.CreateQuery("from bar in class Bar, foo in elements(bar.Baz.FooSet)").List().Count);
- }
+ if (IsClassicParser)
+ {
+ Assert.AreEqual(0, s.CreateQuery("from bar in class Bar, foo in bar.Baz.FooSet.elements").List().Count);
+ }
+ else
+ {
+ Assert.AreEqual(0, s.CreateQuery("from bar in class Bar, foo in elements(bar.Baz.FooSet)").List().Count);
+ }
Assert.AreEqual(1, s.CreateQuery("from bar in class Bar, foo in elements( bar.Baz.FooArray )").List().Count);
@@ -2615,14 +2611,10 @@
Assert.IsTrue(enumer.MoveNext());
Assert.AreSame(baz, enumer.Current);
- if (IsClassicParser)
- {
- enumer = s.CreateQuery("select baz.StringArray.elements from baz in class Baz").Enumerable().GetEnumerator();
- }
- else
- {
- enumer = s.CreateQuery("select elements(baz.StringArray) from baz in class Baz").Enumerable().GetEnumerator();
- }
+ enumer = IsClassicParser
+ ? s.CreateQuery("select baz.StringArray.elements from baz in class Baz").Enumerable().GetEnumerator()
+ : s.CreateQuery("select elements(baz.StringArray) from baz in class Baz").Enumerable().GetEnumerator();
+
bool found = false;
while (enumer.MoveNext())
{
@@ -2635,28 +2627,21 @@
baz.StringArray = null;
s.CreateQuery("from baz in class Baz").Enumerable(); // no flush
- if (IsClassicParser)
- {
- enumer = s.CreateQuery("select baz.StringArray.elements from baz in class Baz").Enumerable().GetEnumerator();
- }
- else
- {
- enumer = s.CreateQuery("select elements(baz.StringArray) from baz in class Baz").Enumerable().GetEnumerator();
- }
+
+ enumer = IsClassicParser
+ ? s.CreateQuery("select baz.StringArray.elements from baz in class Baz").Enumerable().GetEnumerator()
+ : s.CreateQuery("select elements(baz.StringArray) from baz in class Baz").Enumerable().GetEnumerator();
+
Assert.IsFalse(enumer.MoveNext());
baz.StringList.Add("1E1");
enumer = s.CreateQuery("from foo in class Foo").Enumerable().GetEnumerator(); // no flush
Assert.IsFalse(enumer.MoveNext());
- if (IsClassicParser)
- {
- enumer = s.CreateQuery("select baz.StringList.elements from baz in class Baz").Enumerable().GetEnumerator();
- }
- else
- {
- enumer = s.CreateQuery("select elements(baz.StringList) from baz in class Baz").Enumerable().GetEnumerator();
- }
+ enumer = IsClassicParser
+ ? s.CreateQuery("select baz.StringList.elements from baz in class Baz").Enumerable().GetEnumerator()
+ : s.CreateQuery("select elements(baz.StringList) from baz in class Baz").Enumerable().GetEnumerator();
+
found = false;
while (enumer.MoveNext())
{
@@ -2668,23 +2653,19 @@
Assert.IsTrue(found);
baz.StringList.Remove("1E1");
- if (IsClassicParser)
- {
- s.CreateQuery("select baz.StringArray.elements from baz in class Baz").Enumerable(); //no flush
- }
- else
- {
- s.CreateQuery("select elements(baz.StringArray) from baz in class Baz").Enumerable(); //no flush
- }
+ if (IsClassicParser)
+ {
+ s.CreateQuery("select baz.StringArray.elements from baz in class Baz").Enumerable(); //no flush
+ }
+ else
+ {
+ s.CreateQuery("select elements(baz.StringArray) from baz in class Baz").Enumerable(); //no flush
+ }
- if (IsClassicParser)
- {
- enumer = s.CreateQuery("select baz.StringList.elements from baz in class Baz").Enumerable().GetEnumerator();
- }
- else
- {
- enumer = s.CreateQuery("select elements(baz.StringList) from baz in class Baz").Enumerable().GetEnumerator();
- }
+ enumer = IsClassicParser
+ ? s.CreateQuery("select baz.StringList.elements from baz in class Baz").Enumerable().GetEnumerator()
+ : s.CreateQuery("select elements(baz.StringList) from baz in class Baz").Enumerable().GetEnumerator();
+
found = false;
while (enumer.MoveNext())
{
@@ -2702,14 +2683,11 @@
s.CreateQuery("from foo in class Foo").Enumerable().GetEnumerator(); //no flush
baz.StringList = null;
- if (IsClassicParser)
- {
- enumer = s.CreateQuery("select baz.StringList.elements from baz in class Baz").Enumerable().GetEnumerator();
- }
- else
- {
- enumer = s.CreateQuery("select elements(baz.StringList) from baz in class Baz").Enumerable().GetEnumerator();
- }
+
+ enumer = IsClassicParser
+ ? s.CreateQuery("select baz.StringList.elements from baz in class Baz").Enumerable().GetEnumerator()
+ : s.CreateQuery("select elements(baz.StringList) from baz in class Baz").Enumerable().GetEnumerator();
+
Assert.IsFalse(enumer.MoveNext());
s.Delete(baz);
@@ -2764,20 +2742,20 @@
// disable this for dbs with no subselects
if (Dialect.SupportsSubSelects)
{
- if (IsClassicParser)
- {
- list =
- s.CreateQuery(
- "select foo from foo in class NHibernate.DomainModel.Foo, baz in class NHibernate.DomainModel.Baz where foo in baz.FooArray.elements and 3 = some baz.IntArray.elements and 4 > all baz.IntArray.indices")
- .List();
- }
- else
- {
- list =
- s.CreateQuery(
- "select foo from foo in class NHibernate.DomainModel.Foo, baz in class NHibernate.DomainModel.Baz where foo in elements(baz.FooArray) and 3 = some elements(baz.IntArray) and 4 > all indices(baz.IntArray)")
- .List();
- }
+ if (IsClassicParser)
+ {
+ list =
+ s.CreateQuery(
+ "select foo from foo in class NHibernate.DomainModel.Foo, baz in class NHibernate.DomainModel.Baz where foo in baz.FooArray.elements and 3 = some baz.IntArray.elements and 4 > all baz.IntArray.indices")
+ .List();
+ }
+ else
+ {
+ list =
+ s.CreateQuery(
+ "select foo from foo in class NHibernate.DomainModel.Foo, baz in class NHibernate.DomainModel.Baz where foo in elements(baz.FooArray) and 3 = some elements(baz.IntArray) and 4 > all indices(baz.IntArray)")
+ .List();
+ }
Assert.AreEqual(2, list.Count, "collection.elements find");
}
@@ -2785,29 +2763,25 @@
// sapdb doesn't like distinct with binary type
//if( !(dialect is Dialect.SAPDBDialect) )
//{
- if (IsClassicParser)
- {
- list =
- s.CreateQuery("select distinct foo from baz in class NHibernate.DomainModel.Baz, foo in baz.FooArray.elements").List
- ();
- }
- else
- {
- list =
- s.CreateQuery("select distinct foo from baz in class NHibernate.DomainModel.Baz, foo in elements(baz.FooArray)").List
- ();
- }
+ if (IsClassicParser)
+ {
+ list =
+ s.CreateQuery("select distinct foo from baz in class NHibernate.DomainModel.Baz, foo in baz.FooArray.elements").List
+ ();
+ }
+ else
+ {
+ list =
+ s.CreateQuery("select distinct foo from baz in class NHibernate.DomainModel.Baz, foo in elements(baz.FooArray)").
+ List();
+ }
Assert.AreEqual(2, list.Count, "collection.elements find");
//}
- if (IsClassicParser)
- {
- list = s.CreateQuery("select foo from baz in class NHibernate.DomainModel.Baz, foo in baz.FooSet.elements").List();
- }
- else
- {
- list = s.CreateQuery("select foo from baz in class NHibernate.DomainModel.Baz, foo in elements(baz.FooSet)").List();
- }
+ list = IsClassicParser
+ ? s.CreateQuery("select foo from baz in class NHibernate.DomainModel.Baz, foo in baz.FooSet.elements").List()
+ : s.CreateQuery("select foo from baz in class NHibernate.DomainModel.Baz, foo in elements(baz.FooSet)").List();
+
Assert.AreEqual(1, list.Count, "association.elements find");
txn.Commit();
@@ -5022,20 +4996,20 @@
baz = (Baz) s.Load(typeof(Baz), baz.Code);
baz.StringArray[0] = "bark";
- IEnumerator e;
+ IEnumerator e;
- if (IsClassicParser)
- {
- e = s.CreateQuery("select baz.StringArray.elements from baz in class NHibernate.DomainModel.Baz")
- .Enumerable()
- .GetEnumerator();
- }
- else
- {
- e = s.CreateQuery("select elements(baz.StringArray) from baz in class NHibernate.DomainModel.Baz")
- .Enumerable()
- .GetEnumerator();
- }
+ if (IsClassicParser)
+ {
+ e =
+ s.CreateQuery("select baz.StringArray.elements from baz in class NHibernate.DomainModel.Baz").Enumerable().
+ GetEnumerator();
+ }
+ else
+ {
+ e =
+ s.CreateQuery("select elements(baz.StringArray) from baz in class NHibernate.DomainModel.Baz").Enumerable().
+ GetEnumerator();
+ }
bool found = false;
while (e.MoveNext())
@@ -5048,33 +5022,33 @@
Assert.IsTrue(found);
baz.StringArray = null;
- if (IsClassicParser)
- {
- e = s.CreateQuery("select distinct baz.StringArray.elements from baz in class NHibernate.DomainModel.Baz")
- .Enumerable()
- .GetEnumerator();
- }
- else
- {
- e = s.CreateQuery("select distinct elements(baz.StringArray) from baz in class NHibernate.DomainModel.Baz")
- .Enumerable()
- .GetEnumerator();
- }
+ if (IsClassicParser)
+ {
+ e = s.CreateQuery("select distinct baz.StringArray.elements from baz in class NHibernate.DomainModel.Baz")
+ .Enumerable()
+ .GetEnumerator();
+ }
+ else
+ {
+ e =
+ s.CreateQuery("select distinct elements(baz.StringArray) from baz in class NHibernate.DomainModel.Baz").Enumerable()
+ .GetEnumerator();
+ }
Assert.IsFalse(e.MoveNext());
baz.StringArray = new string[] {"foo", "bar"};
- if (IsClassicParser)
- {
- e = s.CreateQuery("select baz.StringArray.elements from baz in class NHibernate.DomainModel.Baz")
- .Enumerable()
- .GetEnumerator();
- }
- else
- {
- e = s.CreateQuery("select elements(baz.StringArray) from baz in class NHibernate.DomainModel.Baz")
- .Enumerable()
- .GetEnumerator();
- }
+ if (IsClassicParser)
+ {
+ e = s.CreateQuery("select baz.StringArray.elements from baz in class NHibernate.DomainModel.Baz")
+ .Enumerable()
+ .GetEnumerator();
+ }
+ else
+ {
+ e =
+ s.CreateQuery("select elements(baz.StringArray) from baz in class NHibernate.DomainModel.Baz").Enumerable().
+ GetEnumerator();
+ }
Assert.IsTrue(e.MoveNext());
Foo foo = new Foo();
@@ -5082,18 +5056,18 @@
s.Flush();
baz.FooArray = new Foo[] {foo};
- if (IsClassicParser)
- {
- e = s.CreateQuery("select foo from baz in class NHibernate.DomainModel.Baz, foo in baz.FooArray.elements")
- .Enumerable()
- .GetEnumerator();
- }
- else
- {
- e = s.CreateQuery("select foo from baz in class NHibernate.DomainModel.Baz, foo in elements(baz.FooArray)")
- .Enumerable()
- .GetEnumerator();
- }
+ if (IsClassicParser)
+ {
+ e = s.CreateQuery("select foo from baz in class NHibernate.DomainModel.Baz, foo in baz.FooArray.elements")
+ .Enumerable()
+ .GetEnumerator();
+ }
+ else
+ {
+ e =
+ s.CreateQuery("select foo from baz in class NHibernate.DomainModel.Baz, foo in elements(baz.FooArray)").Enumerable()
+ .GetEnumerator();
+ }
found = false;
while (e.MoveNext())
{
@@ -5106,61 +5080,66 @@
baz.FooArray[0] = null;
- if (IsClassicParser)
- {
- e = s.CreateQuery("select foo from baz in class NHibernate.DomainModel.Baz, foo in baz.FooArray.elements")
- .Enumerable()
- .GetEnumerator();
- }
- else
- {
- e = s.CreateQuery("select foo from baz in class NHibernate.DomainModel.Baz, foo in elements(baz.FooArray)")
- .Enumerable()
- .GetEnumerator();
- }
+ if (IsClassicParser)
+ {
+ e = s.CreateQuery("select foo from baz in class NHibernate.DomainModel.Baz, foo in baz.FooArray.elements")
+ .Enumerable()
+ .GetEnumerator();
+ }
+ else
+ {
+ e =
+ s.CreateQuery("select foo from baz in class NHibernate.DomainModel.Baz, foo in elements(baz.FooArray)").Enumerable()
+ .GetEnumerator();
+ }
Assert.IsFalse(e.MoveNext());
baz.FooArray[0] = foo;
- if (IsClassicParser)
- {
- e = s.CreateQuery("select baz.FooArray.elements from baz in class NHibernate.DomainModel.Baz")
- .Enumerable()
- .GetEnumerator();
- }
- else
- {
- e = s.CreateQuery("select elements(baz.FooArray) from baz in class NHibernate.DomainModel.Baz")
- .Enumerable()
- .GetEnumerator();
- }
+ if (IsClassicParser)
+ {
+ e = s.CreateQuery("select baz.FooArray.elements from baz in class NHibernate.DomainModel.Baz")
+ .Enumerable()
+ .GetEnumerator();
+ }
+ else
+ {
+ e =
+ s.CreateQuery("select elements(baz.FooArray) from baz in class NHibernate.DomainModel.Baz").Enumerable().
+ GetEnumerator();
+ }
Assert.IsTrue(e.MoveNext());
if (Dialect.SupportsSubSelects && !(Dialect is FirebirdDialect))
{
baz.FooArray[0] = null;
- if (IsClassicParser)
- {
- e = s.CreateQuery("from baz in class NHibernate.DomainModel.Baz where ? in baz.FooArray.elements")
- .SetEntity(0, foo).Enumerable().GetEnumerator();
- }
- else
- {
- e = s.CreateQuery("from baz in class NHibernate.DomainModel.Baz where ? in elements(baz.FooArray)")
- .SetEntity(0, foo).Enumerable().GetEnumerator();
- }
+ if (IsClassicParser)
+ {
+ e = s.CreateQuery("from baz in class NHibernate.DomainModel.Baz where ? in baz.FooArray.elements")
+ .SetEntity(0, foo).Enumerable().GetEnumerator();
+ }
+ else
+ {
+ e =
+ s.CreateQuery("from baz in class NHibernate.DomainModel.Baz where ? in elements(baz.FooArray)").SetEntity(0, foo).
+ Enumerable().GetEnumerator();
+ }
Assert.IsFalse(e.MoveNext());
baz.FooArray[0] = foo;
- if (IsClassicParser)
- {
- e = s.CreateQuery("select foo from foo in class NHibernate.DomainModel.Foo where foo in "
- + "(select elt from baz in class NHibernate.DomainModel.Baz, elt in baz.FooArray.elements)").Enumerable().GetEnumerator();
- }
- else
- {
- e = s.CreateQuery("select foo from foo in class NHibernate.DomainModel.Foo where foo in "
- + "(select elt from baz in class NHibernate.DomainModel.Baz, elt in elements(baz.FooArray))").Enumerable().GetEnumerator();
- }
+ if (IsClassicParser)
+ {
+ e =
+ s.CreateQuery("select foo from foo in class NHibernate.DomainModel.Foo where foo in "
+ + "(select elt from baz in class NHibernate.DomainModel.Baz, elt in baz.FooArray.elements)").
+ Enumerable().GetEnumerator();
+ }
+ else
+ {
+ e =
+ s.CreateQuery("select foo from foo in class NHibernate.DomainModel.Foo where foo in "
+ + "(select elt from baz in class NHibernate.DomainModel.Baz, elt in elements(baz.FooArray))").
+ Enumerable().GetEnumerator();
+ }
Assert.IsTrue(e.MoveNext());
}
s.Delete(foo);
Modified: trunk/nhibernate/src/NHibernate.Test/TestCase.cs
===================================================================
--- trunk/nhibernate/src/NHibernate.Test/TestCase.cs 2009-04-23 20:31:58 UTC (rev 4208)
+++ trunk/nhibernate/src/NHibernate.Test/TestCase.cs 2009-04-24 06:17:30 UTC (rev 4209)
@@ -11,6 +11,8 @@
using NHibernate.Tool.hbm2ddl;
using NHibernate.Type;
using NUnit.Framework;
+using NHibernate.Hql.Classic;
+using NHibernate.Hql.Ast.ANTLR;
namespace NHibernate.Test
{
@@ -27,15 +29,28 @@
get { return NHibernate.Dialect.Dialect.GetDialect(cfg.Properties); }
}
- protected bool IsClassicParser
- {
- get
- {
- return cfg.Properties[Cfg.Environment.QueryTranslator] ==
- typeof(NHibernate.Hql.Classic.ClassicQueryTranslatorFactory).FullName;
- }
- }
+ /// <summary>
+ /// To use in in-line test
+ /// </summary>
+ protected bool IsClassicParser
+ {
+ get
+ {
+ return sessions.Settings.QueryTranslatorFactory is ClassicQueryTranslatorFactory;
+ }
+ }
+ /// <summary>
+ /// To use in in-line test
+ /// </summary>
+ protected bool IsAntlrParser
+ {
+ get
+ {
+ return sessions.Settings.QueryTranslatorFactory is ASTQueryTranslatorFactory;
+ }
+ }
+
protected ISession lastOpenedSession;
private DebugConnectionProvider connectionProvider;
@@ -74,6 +89,12 @@
CreateSchema();
BuildSessionFactory();
+ if (!AppliesTo(sessions))
+ {
+ DropSchema();
+ Cleanup();
+ Assert.Ignore(GetType() + " does not apply with the current session-factory configuration");
+ }
}
catch (Exception e)
{
@@ -223,7 +244,10 @@
private void Cleanup()
{
- sessions.Close();
+ if (sessions != null)
+ {
+ sessions.Close();
+ }
sessions = null;
connectionProvider = null;
lastOpenedSession = null;
@@ -318,6 +342,11 @@
return true;
}
+ protected virtual bool AppliesTo(ISessionFactoryImplementor factory)
+ {
+ return true;
+ }
+
protected virtual void Configure(Configuration configuration)
{
}
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|