|
From: <fab...@us...> - 2011-04-08 17:19:20
|
Revision: 5644
http://nhibernate.svn.sourceforge.net/nhibernate/?rev=5644&view=rev
Author: fabiomaulo
Date: 2011-04-08 17:19:14 +0000 (Fri, 08 Apr 2011)
Log Message:
-----------
Simple extension to show the mapping in console output
Modified Paths:
--------------
trunk/nhibernate/src/NHibernate.Test/NHibernate.Test.csproj
Added Paths:
-----------
trunk/nhibernate/src/NHibernate.Test/HbmMappingExtensions.cs
Added: trunk/nhibernate/src/NHibernate.Test/HbmMappingExtensions.cs
===================================================================
--- trunk/nhibernate/src/NHibernate.Test/HbmMappingExtensions.cs (rev 0)
+++ trunk/nhibernate/src/NHibernate.Test/HbmMappingExtensions.cs 2011-04-08 17:19:14 UTC (rev 5644)
@@ -0,0 +1,14 @@
+using System;
+using NHibernate.Cfg.MappingSchema;
+using NHibernate.Mapping.ByCode;
+
+namespace NHibernate.Test
+{
+ public static class HbmMappingExtensions
+ {
+ public static void ShowInConsole(this HbmMapping mapping)
+ {
+ Console.WriteLine(mapping.AsString());
+ }
+ }
+}
\ No newline at end of file
Modified: trunk/nhibernate/src/NHibernate.Test/NHibernate.Test.csproj
===================================================================
--- trunk/nhibernate/src/NHibernate.Test/NHibernate.Test.csproj 2011-04-08 17:16:28 UTC (rev 5643)
+++ trunk/nhibernate/src/NHibernate.Test/NHibernate.Test.csproj 2011-04-08 17:19:14 UTC (rev 5644)
@@ -398,6 +398,7 @@
<Compile Include="GenericTest\SetGeneric\SetGenericFixture.cs" />
<Compile Include="GhostProperty\Order.cs" />
<Compile Include="GhostProperty\GhostPropertyFixture.cs" />
+ <Compile Include="HbmMappingExtensions.cs" />
<Compile Include="HQL\Animal.cs" />
<Compile Include="HQL\Ast\Address.cs" />
<Compile Include="HQL\Ast\Animal.cs" />
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|
|
From: <jul...@us...> - 2011-04-11 11:32:47
|
Revision: 5665
http://nhibernate.svn.sourceforge.net/nhibernate/?rev=5665&view=rev
Author: julian-maughan
Date: 2011-04-11 11:32:41 +0000 (Mon, 11 Apr 2011)
Log Message:
-----------
Unifying NHibernate.Test.Hql and NHibernate.Test.HQL namespaces (part 1 of 2)
Added Paths:
-----------
trunk/nhibernate/src/NHibernate.Test/Hql/
Removed Paths:
-------------
trunk/nhibernate/src/NHibernate.Test/HQL/
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|
|
From: <jul...@us...> - 2011-04-11 11:41:16
|
Revision: 5666
http://nhibernate.svn.sourceforge.net/nhibernate/?rev=5666&view=rev
Author: julian-maughan
Date: 2011-04-11 11:41:09 +0000 (Mon, 11 Apr 2011)
Log Message:
-----------
Unified NHibernate.Test.Hql and NHibernate.Test.HQL namespaces (part 2 of 2)
Modified Paths:
--------------
trunk/nhibernate/src/NHibernate.Test/Hql/Ast/Address.cs
trunk/nhibernate/src/NHibernate.Test/Hql/Ast/Animal.cs
trunk/nhibernate/src/NHibernate.Test/Hql/Ast/Animal.hbm.xml
trunk/nhibernate/src/NHibernate.Test/Hql/Ast/BaseFixture.cs
trunk/nhibernate/src/NHibernate.Test/Hql/Ast/BooleanLiteralEntity.cs
trunk/nhibernate/src/NHibernate.Test/Hql/Ast/BooleanLiteralEntity.hbm.xml
trunk/nhibernate/src/NHibernate.Test/Hql/Ast/BulkManipulation.cs
trunk/nhibernate/src/NHibernate.Test/Hql/Ast/Classification.cs
trunk/nhibernate/src/NHibernate.Test/Hql/Ast/CrazyCompositeKey.cs
trunk/nhibernate/src/NHibernate.Test/Hql/Ast/DomesticAnimal.cs
trunk/nhibernate/src/NHibernate.Test/Hql/Ast/EntityWithCrazyCompositeKey.cs
trunk/nhibernate/src/NHibernate.Test/Hql/Ast/EntityWithCrazyCompositeKey.hbm.xml
trunk/nhibernate/src/NHibernate.Test/Hql/Ast/HqlFixture.cs
trunk/nhibernate/src/NHibernate.Test/Hql/Ast/Human.cs
trunk/nhibernate/src/NHibernate.Test/Hql/Ast/IntegerVersioned.cs
trunk/nhibernate/src/NHibernate.Test/Hql/Ast/Joiner.cs
trunk/nhibernate/src/NHibernate.Test/Hql/Ast/KeyManyToOneEntity.cs
trunk/nhibernate/src/NHibernate.Test/Hql/Ast/KeyManyToOneEntity.hbm.xml
trunk/nhibernate/src/NHibernate.Test/Hql/Ast/KeyManyToOneKeyEntity.cs
trunk/nhibernate/src/NHibernate.Test/Hql/Ast/Mammal.cs
trunk/nhibernate/src/NHibernate.Test/Hql/Ast/Name.cs
trunk/nhibernate/src/NHibernate.Test/Hql/Ast/ParsingFixture.cs
trunk/nhibernate/src/NHibernate.Test/Hql/Ast/QuerySubstitutionTest.cs
trunk/nhibernate/src/NHibernate.Test/Hql/Ast/Reptile.cs
trunk/nhibernate/src/NHibernate.Test/Hql/Ast/SimpleAssociatedEntity.cs
trunk/nhibernate/src/NHibernate.Test/Hql/Ast/SimpleClass.cs
trunk/nhibernate/src/NHibernate.Test/Hql/Ast/SimpleClass.hbm.xml
trunk/nhibernate/src/NHibernate.Test/Hql/Ast/SimpleEntityWithAssociation.cs
trunk/nhibernate/src/NHibernate.Test/Hql/Ast/SimpleEntityWithAssociation.hbm.xml
trunk/nhibernate/src/NHibernate.Test/Hql/Ast/SqlTranslationFixture.cs
trunk/nhibernate/src/NHibernate.Test/Hql/Ast/StateProvince.cs
trunk/nhibernate/src/NHibernate.Test/Hql/Ast/TimestampVersioned.cs
trunk/nhibernate/src/NHibernate.Test/Hql/Ast/User.cs
trunk/nhibernate/src/NHibernate.Test/Hql/Ast/Vehicle.hbm.xml
trunk/nhibernate/src/NHibernate.Test/Hql/Ast/Vehicles.cs
trunk/nhibernate/src/NHibernate.Test/Hql/Ast/Versions.hbm.xml
trunk/nhibernate/src/NHibernate.Test/Hql/Ast/WithClauseFixture.cs
trunk/nhibernate/src/NHibernate.Test/Hql/Ast/Zoo.cs
trunk/nhibernate/src/NHibernate.Test/Hql/HQLFunctions.cs
trunk/nhibernate/src/NHibernate.Test/Hql/SqlCommentsFixture.cs
trunk/nhibernate/src/NHibernate.Test/NHibernate.Test.csproj
Modified: trunk/nhibernate/src/NHibernate.Test/Hql/Ast/Address.cs
===================================================================
--- trunk/nhibernate/src/NHibernate.Test/Hql/Ast/Address.cs 2011-04-11 11:32:41 UTC (rev 5665)
+++ trunk/nhibernate/src/NHibernate.Test/Hql/Ast/Address.cs 2011-04-11 11:41:09 UTC (rev 5666)
@@ -1,4 +1,4 @@
-namespace NHibernate.Test.HQL.Ast
+namespace NHibernate.Test.Hql.Ast
{
public class Address
{
Modified: trunk/nhibernate/src/NHibernate.Test/Hql/Ast/Animal.cs
===================================================================
--- trunk/nhibernate/src/NHibernate.Test/Hql/Ast/Animal.cs 2011-04-11 11:32:41 UTC (rev 5665)
+++ trunk/nhibernate/src/NHibernate.Test/Hql/Ast/Animal.cs 2011-04-11 11:41:09 UTC (rev 5666)
@@ -1,6 +1,6 @@
using Iesi.Collections;
-namespace NHibernate.Test.HQL.Ast
+namespace NHibernate.Test.Hql.Ast
{
public class Animal
{
Modified: trunk/nhibernate/src/NHibernate.Test/Hql/Ast/Animal.hbm.xml
===================================================================
--- trunk/nhibernate/src/NHibernate.Test/Hql/Ast/Animal.hbm.xml 2011-04-11 11:32:41 UTC (rev 5665)
+++ trunk/nhibernate/src/NHibernate.Test/Hql/Ast/Animal.hbm.xml 2011-04-11 11:41:09 UTC (rev 5666)
@@ -1,7 +1,7 @@
<?xml version="1.0" encoding="utf-8" ?>
<hibernate-mapping xmlns="urn:nhibernate-mapping-2.2"
assembly="NHibernate.Test"
- namespace="NHibernate.Test.HQL.Ast"
+ namespace="NHibernate.Test.Hql.Ast"
default-access="field">
<class name="Animal">
Modified: trunk/nhibernate/src/NHibernate.Test/Hql/Ast/BaseFixture.cs
===================================================================
--- trunk/nhibernate/src/NHibernate.Test/Hql/Ast/BaseFixture.cs 2011-04-11 11:32:41 UTC (rev 5665)
+++ trunk/nhibernate/src/NHibernate.Test/Hql/Ast/BaseFixture.cs 2011-04-11 11:41:09 UTC (rev 5666)
@@ -1,10 +1,10 @@
using System.Collections;
+using System.Collections.Generic;
using NHibernate.Hql.Ast.ANTLR;
-using System.Collections.Generic;
+using NHibernate.Hql.Classic;
using NHibernate.Util;
-using NHibernate.Hql.Classic;
-namespace NHibernate.Test.HQL.Ast
+namespace NHibernate.Test.Hql.Ast
{
public class BaseFixture: TestCase
{
Modified: trunk/nhibernate/src/NHibernate.Test/Hql/Ast/BooleanLiteralEntity.cs
===================================================================
--- trunk/nhibernate/src/NHibernate.Test/Hql/Ast/BooleanLiteralEntity.cs 2011-04-11 11:32:41 UTC (rev 5665)
+++ trunk/nhibernate/src/NHibernate.Test/Hql/Ast/BooleanLiteralEntity.cs 2011-04-11 11:41:09 UTC (rev 5666)
@@ -1,4 +1,4 @@
-namespace NHibernate.Test.HQL.Ast
+namespace NHibernate.Test.Hql.Ast
{
public class BooleanLiteralEntity
{
Modified: trunk/nhibernate/src/NHibernate.Test/Hql/Ast/BooleanLiteralEntity.hbm.xml
===================================================================
--- trunk/nhibernate/src/NHibernate.Test/Hql/Ast/BooleanLiteralEntity.hbm.xml 2011-04-11 11:32:41 UTC (rev 5665)
+++ trunk/nhibernate/src/NHibernate.Test/Hql/Ast/BooleanLiteralEntity.hbm.xml 2011-04-11 11:41:09 UTC (rev 5666)
@@ -1,7 +1,7 @@
<?xml version="1.0" encoding="utf-8" ?>
<hibernate-mapping xmlns="urn:nhibernate-mapping-2.2"
assembly="NHibernate.Test"
- namespace="NHibernate.Test.HQL.Ast">
+ namespace="NHibernate.Test.Hql.Ast">
<class name="BooleanLiteralEntity">
<id name="Id">
Modified: trunk/nhibernate/src/NHibernate.Test/Hql/Ast/BulkManipulation.cs
===================================================================
--- trunk/nhibernate/src/NHibernate.Test/Hql/Ast/BulkManipulation.cs 2011-04-11 11:32:41 UTC (rev 5665)
+++ trunk/nhibernate/src/NHibernate.Test/Hql/Ast/BulkManipulation.cs 2011-04-11 11:41:09 UTC (rev 5666)
@@ -8,7 +8,7 @@
using NUnit.Framework;
using SharpTestsEx;
-namespace NHibernate.Test.HQL.Ast
+namespace NHibernate.Test.Hql.Ast
{
[TestFixture]
public class BulkManipulation : BaseFixture
Modified: trunk/nhibernate/src/NHibernate.Test/Hql/Ast/Classification.cs
===================================================================
--- trunk/nhibernate/src/NHibernate.Test/Hql/Ast/Classification.cs 2011-04-11 11:32:41 UTC (rev 5665)
+++ trunk/nhibernate/src/NHibernate.Test/Hql/Ast/Classification.cs 2011-04-11 11:41:09 UTC (rev 5666)
@@ -1,4 +1,4 @@
-namespace NHibernate.Test.HQL.Ast
+namespace NHibernate.Test.Hql.Ast
{
public enum Classification
{
Modified: trunk/nhibernate/src/NHibernate.Test/Hql/Ast/CrazyCompositeKey.cs
===================================================================
--- trunk/nhibernate/src/NHibernate.Test/Hql/Ast/CrazyCompositeKey.cs 2011-04-11 11:32:41 UTC (rev 5665)
+++ trunk/nhibernate/src/NHibernate.Test/Hql/Ast/CrazyCompositeKey.cs 2011-04-11 11:41:09 UTC (rev 5666)
@@ -1,4 +1,4 @@
-namespace NHibernate.Test.HQL.Ast
+namespace NHibernate.Test.Hql.Ast
{
public class CrazyCompositeKey
{
Modified: trunk/nhibernate/src/NHibernate.Test/Hql/Ast/DomesticAnimal.cs
===================================================================
--- trunk/nhibernate/src/NHibernate.Test/Hql/Ast/DomesticAnimal.cs 2011-04-11 11:32:41 UTC (rev 5665)
+++ trunk/nhibernate/src/NHibernate.Test/Hql/Ast/DomesticAnimal.cs 2011-04-11 11:41:09 UTC (rev 5666)
@@ -1,4 +1,4 @@
-namespace NHibernate.Test.HQL.Ast
+namespace NHibernate.Test.Hql.Ast
{
public class DomesticAnimal: Mammal
{
Modified: trunk/nhibernate/src/NHibernate.Test/Hql/Ast/EntityWithCrazyCompositeKey.cs
===================================================================
--- trunk/nhibernate/src/NHibernate.Test/Hql/Ast/EntityWithCrazyCompositeKey.cs 2011-04-11 11:32:41 UTC (rev 5665)
+++ trunk/nhibernate/src/NHibernate.Test/Hql/Ast/EntityWithCrazyCompositeKey.cs 2011-04-11 11:41:09 UTC (rev 5666)
@@ -1,4 +1,4 @@
-namespace NHibernate.Test.HQL.Ast
+namespace NHibernate.Test.Hql.Ast
{
public class EntityWithCrazyCompositeKey
{
Modified: trunk/nhibernate/src/NHibernate.Test/Hql/Ast/EntityWithCrazyCompositeKey.hbm.xml
===================================================================
--- trunk/nhibernate/src/NHibernate.Test/Hql/Ast/EntityWithCrazyCompositeKey.hbm.xml 2011-04-11 11:32:41 UTC (rev 5665)
+++ trunk/nhibernate/src/NHibernate.Test/Hql/Ast/EntityWithCrazyCompositeKey.hbm.xml 2011-04-11 11:41:09 UTC (rev 5666)
@@ -1,7 +1,7 @@
<?xml version="1.0" encoding="utf-8" ?>
<hibernate-mapping xmlns="urn:nhibernate-mapping-2.2"
assembly="NHibernate.Test"
- namespace="NHibernate.Test.HQL.Ast">
+ namespace="NHibernate.Test.Hql.Ast">
<class name="EntityWithCrazyCompositeKey">
<composite-id name="Id" class="CrazyCompositeKey">
Modified: trunk/nhibernate/src/NHibernate.Test/Hql/Ast/HqlFixture.cs
===================================================================
--- trunk/nhibernate/src/NHibernate.Test/Hql/Ast/HqlFixture.cs 2011-04-11 11:32:41 UTC (rev 5665)
+++ trunk/nhibernate/src/NHibernate.Test/Hql/Ast/HqlFixture.cs 2011-04-11 11:41:09 UTC (rev 5666)
@@ -6,7 +6,7 @@
using NHibernate.Util;
using NUnit.Framework;
-namespace NHibernate.Test.HQL.Ast
+namespace NHibernate.Test.Hql.Ast
{
[TestFixture]
public class HqlFixture : BaseFixture
Modified: trunk/nhibernate/src/NHibernate.Test/Hql/Ast/Human.cs
===================================================================
--- trunk/nhibernate/src/NHibernate.Test/Hql/Ast/Human.cs 2011-04-11 11:32:41 UTC (rev 5665)
+++ trunk/nhibernate/src/NHibernate.Test/Hql/Ast/Human.cs 2011-04-11 11:41:09 UTC (rev 5666)
@@ -1,7 +1,7 @@
using System.Collections;
using Iesi.Collections;
-namespace NHibernate.Test.HQL.Ast
+namespace NHibernate.Test.Hql.Ast
{
public class Human: Mammal
{
Modified: trunk/nhibernate/src/NHibernate.Test/Hql/Ast/IntegerVersioned.cs
===================================================================
--- trunk/nhibernate/src/NHibernate.Test/Hql/Ast/IntegerVersioned.cs 2011-04-11 11:32:41 UTC (rev 5665)
+++ trunk/nhibernate/src/NHibernate.Test/Hql/Ast/IntegerVersioned.cs 2011-04-11 11:41:09 UTC (rev 5666)
@@ -1,4 +1,4 @@
-namespace NHibernate.Test.HQL.Ast
+namespace NHibernate.Test.Hql.Ast
{
public class IntegerVersioned
{
Modified: trunk/nhibernate/src/NHibernate.Test/Hql/Ast/Joiner.cs
===================================================================
--- trunk/nhibernate/src/NHibernate.Test/Hql/Ast/Joiner.cs 2011-04-11 11:32:41 UTC (rev 5665)
+++ trunk/nhibernate/src/NHibernate.Test/Hql/Ast/Joiner.cs 2011-04-11 11:41:09 UTC (rev 5666)
@@ -1,4 +1,4 @@
-namespace NHibernate.Test.HQL.Ast
+namespace NHibernate.Test.Hql.Ast
{
public class Joiner
{
Modified: trunk/nhibernate/src/NHibernate.Test/Hql/Ast/KeyManyToOneEntity.cs
===================================================================
--- trunk/nhibernate/src/NHibernate.Test/Hql/Ast/KeyManyToOneEntity.cs 2011-04-11 11:32:41 UTC (rev 5665)
+++ trunk/nhibernate/src/NHibernate.Test/Hql/Ast/KeyManyToOneEntity.cs 2011-04-11 11:41:09 UTC (rev 5666)
@@ -1,6 +1,6 @@
using System;
-namespace NHibernate.Test.HQL.Ast
+namespace NHibernate.Test.Hql.Ast
{
public class KeyManyToOneEntity
{
Modified: trunk/nhibernate/src/NHibernate.Test/Hql/Ast/KeyManyToOneEntity.hbm.xml
===================================================================
--- trunk/nhibernate/src/NHibernate.Test/Hql/Ast/KeyManyToOneEntity.hbm.xml 2011-04-11 11:32:41 UTC (rev 5665)
+++ trunk/nhibernate/src/NHibernate.Test/Hql/Ast/KeyManyToOneEntity.hbm.xml 2011-04-11 11:41:09 UTC (rev 5666)
@@ -1,7 +1,7 @@
<?xml version="1.0" encoding="utf-8" ?>
<hibernate-mapping xmlns="urn:nhibernate-mapping-2.2"
assembly="NHibernate.Test"
- namespace="NHibernate.Test.HQL.Ast">
+ namespace="NHibernate.Test.Hql.Ast">
<class name="KeyManyToOneKeyEntity">
<id name="id" type="long" access="field" >
Modified: trunk/nhibernate/src/NHibernate.Test/Hql/Ast/KeyManyToOneKeyEntity.cs
===================================================================
--- trunk/nhibernate/src/NHibernate.Test/Hql/Ast/KeyManyToOneKeyEntity.cs 2011-04-11 11:32:41 UTC (rev 5665)
+++ trunk/nhibernate/src/NHibernate.Test/Hql/Ast/KeyManyToOneKeyEntity.cs 2011-04-11 11:41:09 UTC (rev 5666)
@@ -1,4 +1,4 @@
-namespace NHibernate.Test.HQL.Ast
+namespace NHibernate.Test.Hql.Ast
{
public class KeyManyToOneKeyEntity
{
Modified: trunk/nhibernate/src/NHibernate.Test/Hql/Ast/Mammal.cs
===================================================================
--- trunk/nhibernate/src/NHibernate.Test/Hql/Ast/Mammal.cs 2011-04-11 11:32:41 UTC (rev 5665)
+++ trunk/nhibernate/src/NHibernate.Test/Hql/Ast/Mammal.cs 2011-04-11 11:41:09 UTC (rev 5666)
@@ -1,6 +1,6 @@
using System;
-namespace NHibernate.Test.HQL.Ast
+namespace NHibernate.Test.Hql.Ast
{
public class Mammal: Animal
{
Modified: trunk/nhibernate/src/NHibernate.Test/Hql/Ast/Name.cs
===================================================================
--- trunk/nhibernate/src/NHibernate.Test/Hql/Ast/Name.cs 2011-04-11 11:32:41 UTC (rev 5665)
+++ trunk/nhibernate/src/NHibernate.Test/Hql/Ast/Name.cs 2011-04-11 11:41:09 UTC (rev 5666)
@@ -1,4 +1,4 @@
-namespace NHibernate.Test.HQL.Ast
+namespace NHibernate.Test.Hql.Ast
{
public class Name
{
Modified: trunk/nhibernate/src/NHibernate.Test/Hql/Ast/ParsingFixture.cs
===================================================================
--- trunk/nhibernate/src/NHibernate.Test/Hql/Ast/ParsingFixture.cs 2011-04-11 11:32:41 UTC (rev 5665)
+++ trunk/nhibernate/src/NHibernate.Test/Hql/Ast/ParsingFixture.cs 2011-04-11 11:41:09 UTC (rev 5666)
@@ -7,7 +7,7 @@
using NHibernate.Tool.hbm2ddl;
using NUnit.Framework;
-namespace NHibernate.Test.HQL.Ast
+namespace NHibernate.Test.Hql.Ast
{
// This test need the new NUnit
//[TestFixture]
Modified: trunk/nhibernate/src/NHibernate.Test/Hql/Ast/QuerySubstitutionTest.cs
===================================================================
--- trunk/nhibernate/src/NHibernate.Test/Hql/Ast/QuerySubstitutionTest.cs 2011-04-11 11:32:41 UTC (rev 5665)
+++ trunk/nhibernate/src/NHibernate.Test/Hql/Ast/QuerySubstitutionTest.cs 2011-04-11 11:41:09 UTC (rev 5666)
@@ -4,7 +4,7 @@
using NHibernate.Cfg.Loquacious;
using SharpTestsEx;
-namespace NHibernate.Test.HQL.Ast
+namespace NHibernate.Test.Hql.Ast
{
public class QuerySubstitutionTest: BaseFixture
{
Modified: trunk/nhibernate/src/NHibernate.Test/Hql/Ast/Reptile.cs
===================================================================
--- trunk/nhibernate/src/NHibernate.Test/Hql/Ast/Reptile.cs 2011-04-11 11:32:41 UTC (rev 5665)
+++ trunk/nhibernate/src/NHibernate.Test/Hql/Ast/Reptile.cs 2011-04-11 11:41:09 UTC (rev 5666)
@@ -1,4 +1,4 @@
-namespace NHibernate.Test.HQL.Ast
+namespace NHibernate.Test.Hql.Ast
{
public class Reptile: Animal
{
Modified: trunk/nhibernate/src/NHibernate.Test/Hql/Ast/SimpleAssociatedEntity.cs
===================================================================
--- trunk/nhibernate/src/NHibernate.Test/Hql/Ast/SimpleAssociatedEntity.cs 2011-04-11 11:32:41 UTC (rev 5665)
+++ trunk/nhibernate/src/NHibernate.Test/Hql/Ast/SimpleAssociatedEntity.cs 2011-04-11 11:41:09 UTC (rev 5666)
@@ -1,4 +1,4 @@
-namespace NHibernate.Test.HQL.Ast
+namespace NHibernate.Test.Hql.Ast
{
public class SimpleAssociatedEntity
{
Modified: trunk/nhibernate/src/NHibernate.Test/Hql/Ast/SimpleClass.cs
===================================================================
--- trunk/nhibernate/src/NHibernate.Test/Hql/Ast/SimpleClass.cs 2011-04-11 11:32:41 UTC (rev 5665)
+++ trunk/nhibernate/src/NHibernate.Test/Hql/Ast/SimpleClass.cs 2011-04-11 11:41:09 UTC (rev 5666)
@@ -1,4 +1,4 @@
-namespace NHibernate.Test.HQL.Ast
+namespace NHibernate.Test.Hql.Ast
{
public class SimpleClass
{
Modified: trunk/nhibernate/src/NHibernate.Test/Hql/Ast/SimpleClass.hbm.xml
===================================================================
--- trunk/nhibernate/src/NHibernate.Test/Hql/Ast/SimpleClass.hbm.xml 2011-04-11 11:32:41 UTC (rev 5665)
+++ trunk/nhibernate/src/NHibernate.Test/Hql/Ast/SimpleClass.hbm.xml 2011-04-11 11:41:09 UTC (rev 5666)
@@ -1,7 +1,7 @@
<?xml version="1.0" encoding="utf-8" ?>
<hibernate-mapping xmlns="urn:nhibernate-mapping-2.2"
assembly="NHibernate.Test"
- namespace="NHibernate.Test.HQL.Ast">
+ namespace="NHibernate.Test.Hql.Ast">
<class name="SimpleClass">
<id type="int">
Modified: trunk/nhibernate/src/NHibernate.Test/Hql/Ast/SimpleEntityWithAssociation.cs
===================================================================
--- trunk/nhibernate/src/NHibernate.Test/Hql/Ast/SimpleEntityWithAssociation.cs 2011-04-11 11:32:41 UTC (rev 5665)
+++ trunk/nhibernate/src/NHibernate.Test/Hql/Ast/SimpleEntityWithAssociation.cs 2011-04-11 11:41:09 UTC (rev 5666)
@@ -1,7 +1,7 @@
using System;
using Iesi.Collections;
-namespace NHibernate.Test.HQL.Ast
+namespace NHibernate.Test.Hql.Ast
{
public class SimpleEntityWithAssociation
{
Modified: trunk/nhibernate/src/NHibernate.Test/Hql/Ast/SimpleEntityWithAssociation.hbm.xml
===================================================================
--- trunk/nhibernate/src/NHibernate.Test/Hql/Ast/SimpleEntityWithAssociation.hbm.xml 2011-04-11 11:32:41 UTC (rev 5665)
+++ trunk/nhibernate/src/NHibernate.Test/Hql/Ast/SimpleEntityWithAssociation.hbm.xml 2011-04-11 11:41:09 UTC (rev 5666)
@@ -1,7 +1,7 @@
<?xml version="1.0" encoding="utf-8" ?>
<hibernate-mapping xmlns="urn:nhibernate-mapping-2.2"
assembly="NHibernate.Test"
- namespace="NHibernate.Test.HQL.Ast">
+ namespace="NHibernate.Test.Hql.Ast">
<!-- *Very* important for the test cases that these entities have identically named columns! -->
Modified: trunk/nhibernate/src/NHibernate.Test/Hql/Ast/SqlTranslationFixture.cs
===================================================================
--- trunk/nhibernate/src/NHibernate.Test/Hql/Ast/SqlTranslationFixture.cs 2011-04-11 11:32:41 UTC (rev 5665)
+++ trunk/nhibernate/src/NHibernate.Test/Hql/Ast/SqlTranslationFixture.cs 2011-04-11 11:41:09 UTC (rev 5666)
@@ -1,6 +1,6 @@
using NUnit.Framework;
-namespace NHibernate.Test.HQL.Ast
+namespace NHibernate.Test.Hql.Ast
{
[TestFixture]
public class SqlTranslationFixture : BaseFixture
Modified: trunk/nhibernate/src/NHibernate.Test/Hql/Ast/StateProvince.cs
===================================================================
--- trunk/nhibernate/src/NHibernate.Test/Hql/Ast/StateProvince.cs 2011-04-11 11:32:41 UTC (rev 5665)
+++ trunk/nhibernate/src/NHibernate.Test/Hql/Ast/StateProvince.cs 2011-04-11 11:41:09 UTC (rev 5666)
@@ -1,4 +1,4 @@
-namespace NHibernate.Test.HQL.Ast
+namespace NHibernate.Test.Hql.Ast
{
public class StateProvince
{
Modified: trunk/nhibernate/src/NHibernate.Test/Hql/Ast/TimestampVersioned.cs
===================================================================
--- trunk/nhibernate/src/NHibernate.Test/Hql/Ast/TimestampVersioned.cs 2011-04-11 11:32:41 UTC (rev 5665)
+++ trunk/nhibernate/src/NHibernate.Test/Hql/Ast/TimestampVersioned.cs 2011-04-11 11:41:09 UTC (rev 5666)
@@ -1,6 +1,6 @@
using System;
-namespace NHibernate.Test.HQL.Ast
+namespace NHibernate.Test.Hql.Ast
{
public class TimestampVersioned
{
Modified: trunk/nhibernate/src/NHibernate.Test/Hql/Ast/User.cs
===================================================================
--- trunk/nhibernate/src/NHibernate.Test/Hql/Ast/User.cs 2011-04-11 11:32:41 UTC (rev 5665)
+++ trunk/nhibernate/src/NHibernate.Test/Hql/Ast/User.cs 2011-04-11 11:41:09 UTC (rev 5666)
@@ -1,6 +1,6 @@
using System.Collections;
-namespace NHibernate.Test.HQL.Ast
+namespace NHibernate.Test.Hql.Ast
{
public class User
{
Modified: trunk/nhibernate/src/NHibernate.Test/Hql/Ast/Vehicle.hbm.xml
===================================================================
--- trunk/nhibernate/src/NHibernate.Test/Hql/Ast/Vehicle.hbm.xml 2011-04-11 11:32:41 UTC (rev 5665)
+++ trunk/nhibernate/src/NHibernate.Test/Hql/Ast/Vehicle.hbm.xml 2011-04-11 11:41:09 UTC (rev 5666)
@@ -1,7 +1,7 @@
<?xml version="1.0" encoding="utf-8" ?>
<hibernate-mapping xmlns="urn:nhibernate-mapping-2.2"
assembly="NHibernate.Test"
- namespace="NHibernate.Test.HQL.Ast">
+ namespace="NHibernate.Test.Hql.Ast">
<!-- Vehicle represents an abstract root of a union-subclass hierarchy -->
<class name="Vehicle" abstract="true">
Modified: trunk/nhibernate/src/NHibernate.Test/Hql/Ast/Vehicles.cs
===================================================================
--- trunk/nhibernate/src/NHibernate.Test/Hql/Ast/Vehicles.cs 2011-04-11 11:32:41 UTC (rev 5665)
+++ trunk/nhibernate/src/NHibernate.Test/Hql/Ast/Vehicles.cs 2011-04-11 11:41:09 UTC (rev 5666)
@@ -1,4 +1,4 @@
-namespace NHibernate.Test.HQL.Ast
+namespace NHibernate.Test.Hql.Ast
{
public class Vehicle
{
Modified: trunk/nhibernate/src/NHibernate.Test/Hql/Ast/Versions.hbm.xml
===================================================================
--- trunk/nhibernate/src/NHibernate.Test/Hql/Ast/Versions.hbm.xml 2011-04-11 11:32:41 UTC (rev 5665)
+++ trunk/nhibernate/src/NHibernate.Test/Hql/Ast/Versions.hbm.xml 2011-04-11 11:41:09 UTC (rev 5666)
@@ -1,7 +1,7 @@
<?xml version="1.0" encoding="utf-8" ?>
<hibernate-mapping xmlns="urn:nhibernate-mapping-2.2"
assembly="NHibernate.Test"
- namespace="NHibernate.Test.HQL.Ast"
+ namespace="NHibernate.Test.Hql.Ast"
default-access="field">
<class name="IntegerVersioned">
Modified: trunk/nhibernate/src/NHibernate.Test/Hql/Ast/WithClauseFixture.cs
===================================================================
--- trunk/nhibernate/src/NHibernate.Test/Hql/Ast/WithClauseFixture.cs 2011-04-11 11:32:41 UTC (rev 5665)
+++ trunk/nhibernate/src/NHibernate.Test/Hql/Ast/WithClauseFixture.cs 2011-04-11 11:41:09 UTC (rev 5666)
@@ -2,7 +2,7 @@
using NHibernate.Hql.Ast.ANTLR;
using NUnit.Framework;
-namespace NHibernate.Test.HQL.Ast
+namespace NHibernate.Test.Hql.Ast
{
[TestFixture]
public class WithClauseFixture : BaseFixture
Modified: trunk/nhibernate/src/NHibernate.Test/Hql/Ast/Zoo.cs
===================================================================
--- trunk/nhibernate/src/NHibernate.Test/Hql/Ast/Zoo.cs 2011-04-11 11:32:41 UTC (rev 5665)
+++ trunk/nhibernate/src/NHibernate.Test/Hql/Ast/Zoo.cs 2011-04-11 11:41:09 UTC (rev 5666)
@@ -1,6 +1,6 @@
using System.Collections;
-namespace NHibernate.Test.HQL.Ast
+namespace NHibernate.Test.Hql.Ast
{
public class Zoo
{
Modified: trunk/nhibernate/src/NHibernate.Test/Hql/HQLFunctions.cs
===================================================================
--- trunk/nhibernate/src/NHibernate.Test/Hql/HQLFunctions.cs 2011-04-11 11:32:41 UTC (rev 5665)
+++ trunk/nhibernate/src/NHibernate.Test/Hql/HQLFunctions.cs 2011-04-11 11:41:09 UTC (rev 5666)
@@ -49,7 +49,7 @@
protected override IList Mappings
{
- get { return new string[] { "HQL.Animal.hbm.xml", "HQL.MaterialResource.hbm.xml" }; }
+ get { return new string[] { "Hql.Animal.hbm.xml", "Hql.MaterialResource.hbm.xml" }; }
}
protected override void OnTearDown()
Modified: trunk/nhibernate/src/NHibernate.Test/Hql/SqlCommentsFixture.cs
===================================================================
--- trunk/nhibernate/src/NHibernate.Test/Hql/SqlCommentsFixture.cs 2011-04-11 11:32:41 UTC (rev 5665)
+++ trunk/nhibernate/src/NHibernate.Test/Hql/SqlCommentsFixture.cs 2011-04-11 11:41:09 UTC (rev 5666)
@@ -2,7 +2,7 @@
using NHibernate.Cfg;
using NUnit.Framework;
-namespace NHibernate.Test.HQL
+namespace NHibernate.Test.Hql
{
[TestFixture]
public class SqlCommentsFixture : TestCase
@@ -14,7 +14,7 @@
protected override IList Mappings
{
- get { return new[] { "HQL.Animal.hbm.xml" }; }
+ get { return new[] { "Hql.Animal.hbm.xml" }; }
}
protected override void Configure(Configuration configuration)
Modified: trunk/nhibernate/src/NHibernate.Test/NHibernate.Test.csproj
===================================================================
--- trunk/nhibernate/src/NHibernate.Test/NHibernate.Test.csproj 2011-04-11 11:32:41 UTC (rev 5665)
+++ trunk/nhibernate/src/NHibernate.Test/NHibernate.Test.csproj 2011-04-11 11:41:09 UTC (rev 5666)
@@ -399,37 +399,37 @@
<Compile Include="GhostProperty\Order.cs" />
<Compile Include="GhostProperty\GhostPropertyFixture.cs" />
<Compile Include="HbmMappingExtensions.cs" />
- <Compile Include="HQL\Animal.cs" />
- <Compile Include="HQL\Ast\Address.cs" />
- <Compile Include="HQL\Ast\Animal.cs" />
- <Compile Include="HQL\Ast\BaseFixture.cs" />
- <Compile Include="HQL\Ast\BooleanLiteralEntity.cs" />
- <Compile Include="HQL\Ast\BulkManipulation.cs" />
- <Compile Include="HQL\Ast\Classification.cs" />
- <Compile Include="HQL\Ast\CrazyCompositeKey.cs" />
- <Compile Include="HQL\Ast\DomesticAnimal.cs" />
- <Compile Include="HQL\Ast\EntityWithCrazyCompositeKey.cs" />
- <Compile Include="HQL\Ast\Human.cs" />
- <Compile Include="HQL\Ast\IntegerVersioned.cs" />
- <Compile Include="HQL\Ast\Joiner.cs" />
- <Compile Include="HQL\Ast\KeyManyToOneEntity.cs" />
- <Compile Include="HQL\Ast\KeyManyToOneKeyEntity.cs" />
- <Compile Include="HQL\Ast\Mammal.cs" />
- <Compile Include="HQL\Ast\Name.cs" />
- <Compile Include="HQL\Ast\ParsingFixture.cs" />
- <Compile Include="HQL\Ast\QuerySubstitutionTest.cs" />
- <Compile Include="HQL\Ast\Reptile.cs" />
- <Compile Include="HQL\Ast\SimpleAssociatedEntity.cs" />
- <Compile Include="HQL\Ast\SimpleClass.cs" />
- <Compile Include="HQL\Ast\SimpleEntityWithAssociation.cs" />
- <Compile Include="HQL\Ast\SqlTranslationFixture.cs" />
- <Compile Include="HQL\Ast\StateProvince.cs" />
- <Compile Include="HQL\Ast\TimestampVersioned.cs" />
- <Compile Include="HQL\Ast\User.cs" />
- <Compile Include="HQL\Ast\Vehicles.cs" />
- <Compile Include="HQL\Ast\WithClauseFixture.cs" />
- <Compile Include="HQL\Ast\Zoo.cs" />
- <Compile Include="HQL\BaseFunctionFixture.cs" />
+ <Compile Include="Hql\Animal.cs" />
+ <Compile Include="Hql\Ast\Address.cs" />
+ <Compile Include="Hql\Ast\Animal.cs" />
+ <Compile Include="Hql\Ast\BaseFixture.cs" />
+ <Compile Include="Hql\Ast\BooleanLiteralEntity.cs" />
+ <Compile Include="Hql\Ast\BulkManipulation.cs" />
+ <Compile Include="Hql\Ast\Classification.cs" />
+ <Compile Include="Hql\Ast\CrazyCompositeKey.cs" />
+ <Compile Include="Hql\Ast\DomesticAnimal.cs" />
+ <Compile Include="Hql\Ast\EntityWithCrazyCompositeKey.cs" />
+ <Compile Include="Hql\Ast\Human.cs" />
+ <Compile Include="Hql\Ast\IntegerVersioned.cs" />
+ <Compile Include="Hql\Ast\Joiner.cs" />
+ <Compile Include="Hql\Ast\KeyManyToOneEntity.cs" />
+ <Compile Include="Hql\Ast\KeyManyToOneKeyEntity.cs" />
+ <Compile Include="Hql\Ast\Mammal.cs" />
+ <Compile Include="Hql\Ast\Name.cs" />
+ <Compile Include="Hql\Ast\ParsingFixture.cs" />
+ <Compile Include="Hql\Ast\QuerySubstitutionTest.cs" />
+ <Compile Include="Hql\Ast\Reptile.cs" />
+ <Compile Include="Hql\Ast\SimpleAssociatedEntity.cs" />
+ <Compile Include="Hql\Ast\SimpleClass.cs" />
+ <Compile Include="Hql\Ast\SimpleEntityWithAssociation.cs" />
+ <Compile Include="Hql\Ast\SqlTranslationFixture.cs" />
+ <Compile Include="Hql\Ast\StateProvince.cs" />
+ <Compile Include="Hql\Ast\TimestampVersioned.cs" />
+ <Compile Include="Hql\Ast\User.cs" />
+ <Compile Include="Hql\Ast\Vehicles.cs" />
+ <Compile Include="Hql\Ast\WithClauseFixture.cs" />
+ <Compile Include="Hql\Ast\Zoo.cs" />
+ <Compile Include="Hql\BaseFunctionFixture.cs" />
<Compile Include="IdTest\AssignedClass.cs" />
<Compile Include="IdTest\AssignedFixture.cs" />
<Compile Include="IdTest\TableGeneratorFixture.cs" />
@@ -1127,16 +1127,16 @@
<Compile Include="NHSpecificTest\NH473\Fixture.cs" />
<Compile Include="NHSpecificTest\NH473\Parent.cs" />
<Compile Include="NHSpecificTest\NH645\HQLFunctionFixture.cs" />
- <Compile Include="HQL\HQLFunctions.cs" />
- <Compile Include="HQL\Human.cs" />
- <Compile Include="HQL\MaterialResource.cs" />
- <Compile Include="HQL\Name.cs" />
- <Compile Include="HQL\SimpleFunctionsTest.cs" />
- <Compile Include="HQL\SqlCommentsFixture.cs" />
- <Compile Include="HQL\SQLFunctionTemplateTest.cs" />
+ <Compile Include="Hql\HQLFunctions.cs" />
+ <Compile Include="Hql\Human.cs" />
+ <Compile Include="Hql\MaterialResource.cs" />
+ <Compile Include="Hql\Name.cs" />
+ <Compile Include="Hql\SimpleFunctionsTest.cs" />
+ <Compile Include="Hql\SqlCommentsFixture.cs" />
+ <Compile Include="Hql\SQLFunctionTemplateTest.cs" />
<Compile Include="BulkManipulation\NativeSQLBulkOperations.cs" />
<Compile Include="BulkManipulation\Vehicles.cs" />
- <Compile Include="HQL\Ast\HqlFixture.cs" />
+ <Compile Include="Hql\Ast\HqlFixture.cs" />
<Compile Include="IdGen\Enhanced\SequenceStyleConfigUnitFixture.cs" />
<Compile Include="IdGen\NativeGuid\NativeGuidFixture.cs" />
<Compile Include="IdGen\NativeGuid\NativeGuidGeneratorFixture.cs" />
@@ -2257,7 +2257,7 @@
<EmbeddedResource Include="NHSpecificTest\NH712\Mappings.hbm.xml" />
</ItemGroup>
<ItemGroup>
- <EmbeddedResource Include="HQL\Animal.hbm.xml" />
+ <EmbeddedResource Include="Hql\Animal.hbm.xml" />
</ItemGroup>
<ItemGroup>
<EmbeddedResource Include="ExpressionTest\SubQueries\Mappings.hbm.xml" />
@@ -2367,7 +236...
[truncated message content] |
|
From: <pa...@us...> - 2011-04-12 11:09:05
|
Revision: 5674
http://nhibernate.svn.sourceforge.net/nhibernate/?rev=5674&view=rev
Author: patearl
Date: 2011-04-12 11:08:59 +0000 (Tue, 12 Apr 2011)
Log Message:
-----------
Tests: SQLite does not support having without group by.
Modified Paths:
--------------
trunk/nhibernate/src/NHibernate.Test/Hql/HQLFunctions.cs
trunk/nhibernate/src/NHibernate.Test/TestDialect.cs
trunk/nhibernate/src/NHibernate.Test/TestDialects/SQLiteTestDialect.cs
Modified: trunk/nhibernate/src/NHibernate.Test/Hql/HQLFunctions.cs
===================================================================
--- trunk/nhibernate/src/NHibernate.Test/Hql/HQLFunctions.cs 2011-04-12 09:36:48 UTC (rev 5673)
+++ trunk/nhibernate/src/NHibernate.Test/Hql/HQLFunctions.cs 2011-04-12 11:08:59 UTC (rev 5674)
@@ -85,9 +85,12 @@
Assert.AreEqual(2, result);
// Count in where
- result = s.CreateQuery("select count(a.id) from Animal a having count(a.id)>1").UniqueResult();
- Assert.AreEqual(typeof(long), result.GetType());
- Assert.AreEqual(2, result);
+ if (TestDialect.SupportsHavingWithoutGroupBy)
+ {
+ result = s.CreateQuery("select count(a.id) from Animal a having count(a.id)>1").UniqueResult();
+ Assert.AreEqual(typeof (long), result.GetType());
+ Assert.AreEqual(2, result);
+ }
}
}
@@ -110,9 +113,12 @@
Assert.AreEqual(15D, result);
// In where
- result = s.CreateQuery("select avg(a.BodyWeight) from Animal a having avg(a.BodyWeight)>0").UniqueResult();
- Assert.AreEqual(typeof(double), result.GetType());
- Assert.AreEqual(15D, result);
+ if (TestDialect.SupportsHavingWithoutGroupBy)
+ {
+ result = s.CreateQuery("select avg(a.BodyWeight) from Animal a having avg(a.BodyWeight)>0").UniqueResult();
+ Assert.AreEqual(typeof(double), result.GetType());
+ Assert.AreEqual(15D, result);
+ }
}
}
@@ -133,9 +139,12 @@
Assert.AreEqual(typeof(float), result.GetType()); //use column type
Assert.AreEqual(20F, result);
- result = s.CreateQuery("select max(a.BodyWeight) from Animal a having max(a.BodyWeight)>0").UniqueResult();
- Assert.AreEqual(typeof(float), result.GetType()); //use column type
- Assert.AreEqual(20F, result);
+ if (TestDialect.SupportsHavingWithoutGroupBy)
+ {
+ result = s.CreateQuery("select max(a.BodyWeight) from Animal a having max(a.BodyWeight)>0").UniqueResult();
+ Assert.AreEqual(typeof(float), result.GetType()); //use column type
+ Assert.AreEqual(20F, result);
+ }
}
}
@@ -156,9 +165,12 @@
Assert.AreEqual(typeof(float), result.GetType()); //use column type
Assert.AreEqual(10F, result);
- result = s.CreateQuery("select min(a.BodyWeight) from Animal a having min(a.BodyWeight)>0").UniqueResult();
- Assert.AreEqual(typeof(float), result.GetType()); //use column type
- Assert.AreEqual(10F, result);
+ if (TestDialect.SupportsHavingWithoutGroupBy)
+ {
+ result = s.CreateQuery("select min(a.BodyWeight) from Animal a having min(a.BodyWeight)>0").UniqueResult();
+ Assert.AreEqual(typeof(float), result.GetType()); //use column type
+ Assert.AreEqual(10F, result);
+ }
}
}
@@ -179,9 +191,12 @@
Assert.AreEqual(typeof(double), result.GetType());
Assert.AreEqual(30D, result);
- result = s.CreateQuery("select sum(a.BodyWeight) from Animal a having sum(a.BodyWeight)>0").UniqueResult();
- Assert.AreEqual(typeof(double), result.GetType());
- Assert.AreEqual(30D, result);
+ if (TestDialect.SupportsHavingWithoutGroupBy)
+ {
+ result = s.CreateQuery("select sum(a.BodyWeight) from Animal a having sum(a.BodyWeight)>0").UniqueResult();
+ Assert.AreEqual(typeof(double), result.GetType());
+ Assert.AreEqual(30D, result);
+ }
}
}
Modified: trunk/nhibernate/src/NHibernate.Test/TestDialect.cs
===================================================================
--- trunk/nhibernate/src/NHibernate.Test/TestDialect.cs 2011-04-12 09:36:48 UTC (rev 5673)
+++ trunk/nhibernate/src/NHibernate.Test/TestDialect.cs 2011-04-12 11:08:59 UTC (rev 5674)
@@ -49,6 +49,8 @@
public virtual bool SupportsSelectForUpdateOnOuterJoin { get { return true; } }
+ public virtual bool SupportsHavingWithoutGroupBy { get { return true; } }
+
public bool SupportsSqlType(SqlType sqlType)
{
try
Modified: trunk/nhibernate/src/NHibernate.Test/TestDialects/SQLiteTestDialect.cs
===================================================================
--- trunk/nhibernate/src/NHibernate.Test/TestDialects/SQLiteTestDialect.cs 2011-04-12 09:36:48 UTC (rev 5673)
+++ trunk/nhibernate/src/NHibernate.Test/TestDialects/SQLiteTestDialect.cs 2011-04-12 11:08:59 UTC (rev 5674)
@@ -46,5 +46,10 @@
{
get { return true; }
}
+
+ public override bool SupportsHavingWithoutGroupBy
+ {
+ get { return false; }
+ }
}
}
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|
|
From: <pa...@us...> - 2011-04-13 04:16:02
|
Revision: 5683
http://nhibernate.svn.sourceforge.net/nhibernate/?rev=5683&view=rev
Author: patearl
Date: 2011-04-13 04:15:56 +0000 (Wed, 13 Apr 2011)
Log Message:
-----------
Tests: Deal with the fact that PostgreSQL doesn't support null UTF characters.
Modified Paths:
--------------
trunk/nhibernate/src/NHibernate.Test/NHSpecificTest/BasicClassFixture.cs
trunk/nhibernate/src/NHibernate.Test/TestDialect.cs
trunk/nhibernate/src/NHibernate.Test/TestDialects/PostgreSQL82TestDialect.cs
Modified: trunk/nhibernate/src/NHibernate.Test/NHSpecificTest/BasicClassFixture.cs
===================================================================
--- trunk/nhibernate/src/NHibernate.Test/NHSpecificTest/BasicClassFixture.cs 2011-04-12 22:59:26 UTC (rev 5682)
+++ trunk/nhibernate/src/NHibernate.Test/NHSpecificTest/BasicClassFixture.cs 2011-04-13 04:15:56 UTC (rev 5683)
@@ -33,6 +33,8 @@
using (ITransaction tx = s.BeginTransaction())
{
BasicClass bc = new BasicClass();
+ if (!TestDialect.SupportsNullCharactersInUtfStrings)
+ bc.CharacterProperty = 'a';
bc.Id = 1;
bc.ValueOfPrivateField = 5;
s.Save(bc);
@@ -56,6 +58,8 @@
using (ITransaction tx = s.BeginTransaction())
{
BasicClass bc = new BasicClass();
+ if (!TestDialect.SupportsNullCharactersInUtfStrings)
+ bc.CharacterProperty = 'a';
bc.Id = 1;
s.Save(bc);
tx.Commit();
@@ -819,6 +823,8 @@
ISession s = OpenSession();
ITransaction t = s.BeginTransaction();
BasicClass bc = new BasicClass();
+ if (!TestDialect.SupportsNullCharactersInUtfStrings)
+ bc.CharacterProperty = 'a';
int id = 1;
Modified: trunk/nhibernate/src/NHibernate.Test/TestDialect.cs
===================================================================
--- trunk/nhibernate/src/NHibernate.Test/TestDialect.cs 2011-04-12 22:59:26 UTC (rev 5682)
+++ trunk/nhibernate/src/NHibernate.Test/TestDialect.cs 2011-04-13 04:15:56 UTC (rev 5683)
@@ -47,6 +47,8 @@
public virtual bool HasBrokenDecimalType { get { return false; } }
+ public virtual bool SupportsNullCharactersInUtfStrings { get { return true; } }
+
public virtual bool SupportsSelectForUpdateOnOuterJoin { get { return true; } }
public virtual bool SupportsHavingWithoutGroupBy { get { return true; } }
Modified: trunk/nhibernate/src/NHibernate.Test/TestDialects/PostgreSQL82TestDialect.cs
===================================================================
--- trunk/nhibernate/src/NHibernate.Test/TestDialects/PostgreSQL82TestDialect.cs 2011-04-12 22:59:26 UTC (rev 5682)
+++ trunk/nhibernate/src/NHibernate.Test/TestDialects/PostgreSQL82TestDialect.cs 2011-04-13 04:15:56 UTC (rev 5683)
@@ -16,5 +16,10 @@
{
get { return false; }
}
+
+ public override bool SupportsNullCharactersInUtfStrings
+ {
+ get { return false; }
+ }
}
}
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|
|
From: <fab...@us...> - 2011-04-13 21:57:20
|
Revision: 5696
http://nhibernate.svn.sourceforge.net/nhibernate/?rev=5696&view=rev
Author: fabiomaulo
Date: 2011-04-13 21:57:13 +0000 (Wed, 13 Apr 2011)
Log Message:
-----------
Added passing tests
Modified Paths:
--------------
trunk/nhibernate/src/NHibernate.Test/MappingByCode/ExpliticMappingTests/VersionTests.cs
trunk/nhibernate/src/NHibernate.Test/NHibernate.Test.csproj
Added Paths:
-----------
trunk/nhibernate/src/NHibernate.Test/MappingByCode/ConventionModelMapperTests/VersionOnBaseClassIntegrationTest.cs
trunk/nhibernate/src/NHibernate.Test/MappingByCode/MixAutomapping/InheritedVersionTest.cs
Added: trunk/nhibernate/src/NHibernate.Test/MappingByCode/ConventionModelMapperTests/VersionOnBaseClassIntegrationTest.cs
===================================================================
--- trunk/nhibernate/src/NHibernate.Test/MappingByCode/ConventionModelMapperTests/VersionOnBaseClassIntegrationTest.cs (rev 0)
+++ trunk/nhibernate/src/NHibernate.Test/MappingByCode/ConventionModelMapperTests/VersionOnBaseClassIntegrationTest.cs 2011-04-13 21:57:13 UTC (rev 5696)
@@ -0,0 +1,40 @@
+using NHibernate.Mapping.ByCode;
+using NUnit.Framework;
+using SharpTestsEx;
+
+namespace NHibernate.Test.MappingByCode.ConventionModelMapperTests
+{
+ public class VersionOnBaseClassIntegrationTest
+ {
+ private class BaseEntity
+ {
+ public int Id { get; set; }
+ public int Version { get; set; }
+ }
+
+ private class Person : BaseEntity
+ {
+ }
+
+ [Test]
+ public void WhenPropertyVersionFromBaseEntityThenFindItAsVersion()
+ {
+ var mapper = new ConventionModelMapper();
+ var baseEntityType = typeof(BaseEntity);
+ mapper.IsEntity((t, declared) => baseEntityType.IsAssignableFrom(t) && baseEntityType != t && !t.IsInterface);
+ mapper.IsRootEntity((t, declared) => baseEntityType.Equals(t.BaseType));
+ mapper.Class<BaseEntity>(
+ map =>
+ {
+ map.Id(x => x.Id, idmap => { });
+ map.Version(x => x.Version, vm => { });
+ });
+ var hbmMapping = mapper.CompileMappingFor(new[] { typeof(Person) });
+
+ var hbmClass = hbmMapping.RootClasses[0];
+ var hbmVersion = hbmClass.Version;
+ hbmVersion.Should().Not.Be.Null();
+ hbmVersion.name.Should().Be("Version");
+ }
+ }
+}
\ No newline at end of file
Modified: trunk/nhibernate/src/NHibernate.Test/MappingByCode/ExpliticMappingTests/VersionTests.cs
===================================================================
--- trunk/nhibernate/src/NHibernate.Test/MappingByCode/ExpliticMappingTests/VersionTests.cs 2011-04-13 20:35:38 UTC (rev 5695)
+++ trunk/nhibernate/src/NHibernate.Test/MappingByCode/ExpliticMappingTests/VersionTests.cs 2011-04-13 21:57:13 UTC (rev 5696)
@@ -11,9 +11,12 @@
public int Id { get; set; }
public int Version { get; set; }
}
+ private class MyRoot: MyClass
+ {
+ }
[Test]
- public void WhenPropertyUsedAsPoidThenRegister()
+ public void WhenPropertyUsedAsVersionThenRegister()
{
var inspector = new ExplicitlyDeclaredModel();
var mapper = new ModelMapper(inspector);
@@ -26,5 +29,20 @@
inspector.IsVersion(For<MyClass>.Property(x => x.Version)).Should().Be.True();
}
+
+ [Test]
+ public void WhenPropertyVersionFromBaseEntityThenFindItAsVersion()
+ {
+ var inspector = new ExplicitlyDeclaredModel();
+ var mapper = new ModelMapper(inspector);
+ mapper.Class<MyClass>(
+ map =>
+ {
+ map.Id(x => x.Id, idmap => { });
+ map.Version(x => x.Version, vm => { });
+ });
+
+ inspector.IsVersion(For<MyRoot>.Property(x => x.Version)).Should().Be.True();
+ }
}
}
\ No newline at end of file
Added: trunk/nhibernate/src/NHibernate.Test/MappingByCode/MixAutomapping/InheritedVersionTest.cs
===================================================================
--- trunk/nhibernate/src/NHibernate.Test/MappingByCode/MixAutomapping/InheritedVersionTest.cs (rev 0)
+++ trunk/nhibernate/src/NHibernate.Test/MappingByCode/MixAutomapping/InheritedVersionTest.cs 2011-04-13 21:57:13 UTC (rev 5696)
@@ -0,0 +1,34 @@
+using NHibernate.Mapping.ByCode;
+using NUnit.Framework;
+using SharpTestsEx;
+
+namespace NHibernate.Test.MappingByCode.MixAutomapping
+{
+ public class InheritedVersionTest
+ {
+ private class BaseEntity
+ {
+ public int Id { get; set; }
+ public int Version { get; set; }
+ }
+
+ private class Person : BaseEntity
+ {
+ }
+
+ [Test]
+ public void WhenPropertyVersionFromBaseEntityThenFindItAsVersion()
+ {
+ var inspector = (IModelInspector)new SimpleModelInspector();
+ var mapper = new ModelMapper(inspector);
+ mapper.Class<BaseEntity>(
+ map =>
+ {
+ map.Id(x => x.Id, idmap => { });
+ map.Version(x => x.Version, vm => { });
+ });
+
+ inspector.IsVersion(For<Person>.Property(x => x.Version)).Should().Be.True();
+ }
+ }
+}
\ No newline at end of file
Modified: trunk/nhibernate/src/NHibernate.Test/NHibernate.Test.csproj
===================================================================
--- trunk/nhibernate/src/NHibernate.Test/NHibernate.Test.csproj 2011-04-13 20:35:38 UTC (rev 5695)
+++ trunk/nhibernate/src/NHibernate.Test/NHibernate.Test.csproj 2011-04-13 21:57:13 UTC (rev 5696)
@@ -513,6 +513,7 @@
<Compile Include="Logging\LoggerProviderTest.cs" />
<Compile Include="MappingByCode\ConventionModelMapperTests\PropertyToFieldAccessorTest.cs" />
<Compile Include="MappingByCode\ConventionModelMapperTests\SafePoidTests.cs" />
+ <Compile Include="MappingByCode\ConventionModelMapperTests\VersionOnBaseClassIntegrationTest.cs" />
<Compile Include="MappingByCode\ExpliticMappingTests\BagOfNestedComponentsWithParentTest.cs" />
<Compile Include="MappingByCode\ExpliticMappingTests\ClassWithComponentsTest.cs" />
<Compile Include="MappingByCode\ExpliticMappingTests\ConformistMappingRegistrationTests\ClassMappingRegistrationTest.cs" />
@@ -550,6 +551,7 @@
<Compile Include="MappingByCode\MixAutomapping\DefaultClassHierarchyRepresentationTests.cs" />
<Compile Include="MappingByCode\MixAutomapping\DictionaryCollectionTests.cs" />
<Compile Include="MappingByCode\MixAutomapping\EntityTests.cs" />
+ <Compile Include="MappingByCode\MixAutomapping\InheritedVersionTest.cs" />
<Compile Include="MappingByCode\MixAutomapping\ManyToOneTest.cs" />
<Compile Include="MappingByCode\MixAutomapping\OneToManyTests.cs" />
<Compile Include="MappingByCode\MixAutomapping\PoidTests.cs" />
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|
|
From: <fab...@us...> - 2011-04-14 18:06:22
|
Revision: 5700
http://nhibernate.svn.sourceforge.net/nhibernate/?rev=5700&view=rev
Author: fabiomaulo
Date: 2011-04-14 18:06:16 +0000 (Thu, 14 Apr 2011)
Log Message:
-----------
Minor (moved test)
Modified Paths:
--------------
trunk/nhibernate/src/NHibernate.Test/NHibernate.Test.csproj
Added Paths:
-----------
trunk/nhibernate/src/NHibernate.Test/MappingByCode/MappersTests/ClassMapperTests/
trunk/nhibernate/src/NHibernate.Test/MappingByCode/MappersTests/ClassMapperTests/ClassMapperWithJoinPropertiesTest.cs
Removed Paths:
-------------
trunk/nhibernate/src/NHibernate.Test/MappingByCode/MappersTests/ClassMapperWithJoinPropertiesTest.cs
Copied: trunk/nhibernate/src/NHibernate.Test/MappingByCode/MappersTests/ClassMapperTests/ClassMapperWithJoinPropertiesTest.cs (from rev 5698, trunk/nhibernate/src/NHibernate.Test/MappingByCode/MappersTests/ClassMapperWithJoinPropertiesTest.cs)
===================================================================
--- trunk/nhibernate/src/NHibernate.Test/MappingByCode/MappersTests/ClassMapperTests/ClassMapperWithJoinPropertiesTest.cs (rev 0)
+++ trunk/nhibernate/src/NHibernate.Test/MappingByCode/MappersTests/ClassMapperTests/ClassMapperWithJoinPropertiesTest.cs 2011-04-14 18:06:16 UTC (rev 5700)
@@ -0,0 +1,89 @@
+using System.Linq;
+using NHibernate.Cfg.MappingSchema;
+using NHibernate.Mapping.ByCode;
+using NHibernate.Mapping.ByCode.Impl;
+using NUnit.Framework;
+using SharpTestsEx;
+
+namespace NHibernate.Test.MappingByCode.MappersTests.ClassMapperTests
+{
+ public class ClassMapperWithJoinPropertiesTest
+ {
+ private class MyClass
+ {
+ public int Id { get; set; }
+ }
+
+ [Test]
+ public void WhenDefineJoinThenAddJoinWithTableNameAndKey()
+ {
+ var mapdoc = new HbmMapping();
+ var mapper = new ClassMapper(typeof(MyClass), mapdoc, For<MyClass>.Property(x=> x.Id));
+ mapper.Join("MyTable",x => { });
+
+ var hbmClass = mapdoc.RootClasses[0];
+ var hbmJoin = hbmClass.Joins.Single();
+ hbmJoin.table.Should().Be("MyTable");
+ hbmJoin.key.Should().Not.Be.Null();
+ hbmJoin.key.column1.Should().Not.Be.Null();
+ }
+
+ [Test]
+ public void WhenDefineJoinThenCallJoinMapper()
+ {
+ var mapdoc = new HbmMapping();
+ var mapper = new ClassMapper(typeof(MyClass), mapdoc, For<MyClass>.Property(x => x.Id));
+ var called = false;
+ mapper.Join("MyTable", x =>
+ {
+ x.Should().Not.Be.Null();
+ called = true;
+ });
+
+ called.Should().Be.True();
+ }
+
+ //[Test]
+ //public void WhenDefineJoinTableNameAsTableOfRootThenThrows()
+ //{
+ // We can't give support to this check.
+ // The name of the table of the root-class may change during the mapping process where the name of the joined table is immutable (or...perhaps what is really immutable is the Id used in the explicit mapping ;) )
+ // We are using the name of the joined table as id for the splitted property group. I can't find another way to be 100% sure to re-use the same
+ // instance of JoinMapper when the Join method is used more than once.
+ // The case of "inconsistent" name should be checked by binders since the problem is the same using XML mappings
+ //
+ // var mapdoc = new HbmMapping();
+ // var mapper = new ClassMapper(typeof(MyClass), mapdoc, For<MyClass>.Property(x => x.Id));
+ // Executing.This(()=> mapper.Join("MyClass", x => { })).Should().Throw<MappingException>();
+ //}
+
+ [Test]
+ public void WhenDefineMoreJoinsThenTableNameShouldBeUnique()
+ {
+ var mapdoc = new HbmMapping();
+ var mapper = new ClassMapper(typeof(MyClass), mapdoc, For<MyClass>.Property(x => x.Id));
+ mapper.Join("T1", x => { });
+ mapper.Join("T2",x => { });
+
+ var hbmClass = mapdoc.RootClasses[0];
+ hbmClass.Joins.Should().Have.Count.EqualTo(2);
+ hbmClass.Joins.Select(x=> x.table).Should().Have.UniqueValues();
+ }
+
+ [Test]
+ public void WhenDefineMoreJoinsWithSameIdThenUseSameJoinMapperInstance()
+ {
+ var mapdoc = new HbmMapping();
+ var mapper = new ClassMapper(typeof(MyClass), mapdoc, For<MyClass>.Property(x => x.Id));
+ IJoinMapper firstCallInstance = null;
+ IJoinMapper secondCallInstance = null;
+
+ mapper.Join("T1", x => firstCallInstance = x);
+ mapper.Join("T1", x => secondCallInstance = x);
+
+ firstCallInstance.Should().Be.SameInstanceAs(secondCallInstance);
+ var hbmClass = mapdoc.RootClasses[0];
+ hbmClass.Joins.Should().Have.Count.EqualTo(1);
+ }
+ }
+}
\ No newline at end of file
Deleted: trunk/nhibernate/src/NHibernate.Test/MappingByCode/MappersTests/ClassMapperWithJoinPropertiesTest.cs
===================================================================
--- trunk/nhibernate/src/NHibernate.Test/MappingByCode/MappersTests/ClassMapperWithJoinPropertiesTest.cs 2011-04-14 17:39:19 UTC (rev 5699)
+++ trunk/nhibernate/src/NHibernate.Test/MappingByCode/MappersTests/ClassMapperWithJoinPropertiesTest.cs 2011-04-14 18:06:16 UTC (rev 5700)
@@ -1,89 +0,0 @@
-using System.Linq;
-using NHibernate.Cfg.MappingSchema;
-using NHibernate.Mapping.ByCode;
-using NHibernate.Mapping.ByCode.Impl;
-using NUnit.Framework;
-using SharpTestsEx;
-
-namespace NHibernate.Test.MappingByCode.MappersTests
-{
- public class ClassMapperWithJoinPropertiesTest
- {
- private class MyClass
- {
- public int Id { get; set; }
- }
-
- [Test]
- public void WhenDefineJoinThenAddJoinWithTableNameAndKey()
- {
- var mapdoc = new HbmMapping();
- var mapper = new ClassMapper(typeof(MyClass), mapdoc, For<MyClass>.Property(x=> x.Id));
- mapper.Join("MyTable",x => { });
-
- var hbmClass = mapdoc.RootClasses[0];
- var hbmJoin = hbmClass.Joins.Single();
- hbmJoin.table.Should().Be("MyTable");
- hbmJoin.key.Should().Not.Be.Null();
- hbmJoin.key.column1.Should().Not.Be.Null();
- }
-
- [Test]
- public void WhenDefineJoinThenCallJoinMapper()
- {
- var mapdoc = new HbmMapping();
- var mapper = new ClassMapper(typeof(MyClass), mapdoc, For<MyClass>.Property(x => x.Id));
- var called = false;
- mapper.Join("MyTable", x =>
- {
- x.Should().Not.Be.Null();
- called = true;
- });
-
- called.Should().Be.True();
- }
-
- //[Test]
- //public void WhenDefineJoinTableNameAsTableOfRootThenThrows()
- //{
- // We can't give support to this check.
- // The name of the table of the root-class may change during the mapping process where the name of the joined table is immutable (or...perhaps what is really immutable is the Id used in the explicit mapping ;) )
- // We are using the name of the joined table as id for the splitted property group. I can't find another way to be 100% sure to re-use the same
- // instance of JoinMapper when the Join method is used more than once.
- // The case of "inconsistent" name should be checked by binders since the problem is the same using XML mappings
- //
- // var mapdoc = new HbmMapping();
- // var mapper = new ClassMapper(typeof(MyClass), mapdoc, For<MyClass>.Property(x => x.Id));
- // Executing.This(()=> mapper.Join("MyClass", x => { })).Should().Throw<MappingException>();
- //}
-
- [Test]
- public void WhenDefineMoreJoinsThenTableNameShouldBeUnique()
- {
- var mapdoc = new HbmMapping();
- var mapper = new ClassMapper(typeof(MyClass), mapdoc, For<MyClass>.Property(x => x.Id));
- mapper.Join("T1", x => { });
- mapper.Join("T2",x => { });
-
- var hbmClass = mapdoc.RootClasses[0];
- hbmClass.Joins.Should().Have.Count.EqualTo(2);
- hbmClass.Joins.Select(x=> x.table).Should().Have.UniqueValues();
- }
-
- [Test]
- public void WhenDefineMoreJoinsWithSameIdThenUseSameJoinMapperInstance()
- {
- var mapdoc = new HbmMapping();
- var mapper = new ClassMapper(typeof(MyClass), mapdoc, For<MyClass>.Property(x => x.Id));
- IJoinMapper firstCallInstance = null;
- IJoinMapper secondCallInstance = null;
-
- mapper.Join("T1", x => firstCallInstance = x);
- mapper.Join("T1", x => secondCallInstance = x);
-
- firstCallInstance.Should().Be.SameInstanceAs(secondCallInstance);
- var hbmClass = mapdoc.RootClasses[0];
- hbmClass.Joins.Should().Have.Count.EqualTo(1);
- }
- }
-}
\ No newline at end of file
Modified: trunk/nhibernate/src/NHibernate.Test/NHibernate.Test.csproj
===================================================================
--- trunk/nhibernate/src/NHibernate.Test/NHibernate.Test.csproj 2011-04-14 17:39:19 UTC (rev 5699)
+++ trunk/nhibernate/src/NHibernate.Test/NHibernate.Test.csproj 2011-04-14 18:06:16 UTC (rev 5700)
@@ -539,7 +539,7 @@
<Compile Include="MappingByCode\ExpliticMappingTests\VersionTests.cs" />
<Compile Include="MappingByCode\For.cs" />
<Compile Include="MappingByCode\MappersTests\AbstractPropertyContainerMapperTest.cs" />
- <Compile Include="MappingByCode\MappersTests\ClassMapperWithJoinPropertiesTest.cs" />
+ <Compile Include="MappingByCode\MappersTests\ClassMapperTests\ClassMapperWithJoinPropertiesTest.cs" />
<Compile Include="MappingByCode\MappersTests\CollectionIdMapperTests.cs" />
<Compile Include="MappingByCode\MappersTests\FakeUserCollectionType.cs" />
<Compile Include="MappingByCode\MappersTests\IdBagMapperTest.cs" />
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|
|
From: <fab...@us...> - 2011-04-14 18:13:41
|
Revision: 5701
http://nhibernate.svn.sourceforge.net/nhibernate/?rev=5701&view=rev
Author: fabiomaulo
Date: 2011-04-14 18:13:35 +0000 (Thu, 14 Apr 2011)
Log Message:
-----------
Added passing tests
Modified Paths:
--------------
trunk/nhibernate/src/NHibernate.Test/NHibernate.Test.csproj
Added Paths:
-----------
trunk/nhibernate/src/NHibernate.Test/MappingByCode/MappersTests/ClassMapperTests/SetPersisterTests.cs
trunk/nhibernate/src/NHibernate.Test/MappingByCode/MappersTests/JoinedSubclassMapperTests/
trunk/nhibernate/src/NHibernate.Test/MappingByCode/MappersTests/JoinedSubclassMapperTests/SetPersisterTests.cs
trunk/nhibernate/src/NHibernate.Test/MappingByCode/MappersTests/SubclassMapperTests/
trunk/nhibernate/src/NHibernate.Test/MappingByCode/MappersTests/SubclassMapperTests/SetPersisterTests.cs
trunk/nhibernate/src/NHibernate.Test/MappingByCode/MappersTests/UnionSubclassMapperTests/
trunk/nhibernate/src/NHibernate.Test/MappingByCode/MappersTests/UnionSubclassMapperTests/SetPersisterTests.cs
Added: trunk/nhibernate/src/NHibernate.Test/MappingByCode/MappersTests/ClassMapperTests/SetPersisterTests.cs
===================================================================
--- trunk/nhibernate/src/NHibernate.Test/MappingByCode/MappersTests/ClassMapperTests/SetPersisterTests.cs (rev 0)
+++ trunk/nhibernate/src/NHibernate.Test/MappingByCode/MappersTests/ClassMapperTests/SetPersisterTests.cs 2011-04-14 18:13:35 UTC (rev 5701)
@@ -0,0 +1,25 @@
+using NHibernate.Cfg.MappingSchema;
+using NHibernate.Mapping.ByCode.Impl;
+using NHibernate.Persister.Entity;
+using NUnit.Framework;
+using SharpTestsEx;
+
+namespace NHibernate.Test.MappingByCode.MappersTests.ClassMapperTests
+{
+ public class SetPersisterTests
+ {
+ private class EntitySimple
+ {
+ public int Id { get; set; }
+ }
+
+ [Test]
+ public void CanSetPersister()
+ {
+ var mapdoc = new HbmMapping();
+ var rc = new ClassMapper(typeof(EntitySimple), mapdoc, For<EntitySimple>.Property(x => x.Id));
+ rc.Persister<SingleTableEntityPersister>();
+ mapdoc.RootClasses[0].Persister.Should().Contain("SingleTableEntityPersister");
+ }
+ }
+}
\ No newline at end of file
Added: trunk/nhibernate/src/NHibernate.Test/MappingByCode/MappersTests/JoinedSubclassMapperTests/SetPersisterTests.cs
===================================================================
--- trunk/nhibernate/src/NHibernate.Test/MappingByCode/MappersTests/JoinedSubclassMapperTests/SetPersisterTests.cs (rev 0)
+++ trunk/nhibernate/src/NHibernate.Test/MappingByCode/MappersTests/JoinedSubclassMapperTests/SetPersisterTests.cs 2011-04-14 18:13:35 UTC (rev 5701)
@@ -0,0 +1,29 @@
+using NHibernate.Cfg.MappingSchema;
+using NHibernate.Mapping.ByCode.Impl;
+using NHibernate.Persister.Entity;
+using NUnit.Framework;
+using SharpTestsEx;
+
+namespace NHibernate.Test.MappingByCode.MappersTests.JoinedSubclassMapperTests
+{
+ public class SetPersisterTests
+ {
+ private class EntitySimple
+ {
+ public int Id { get; set; }
+ }
+
+ private class InheritedSimple : EntitySimple
+ {
+ }
+
+ [Test]
+ public void CanSetPersister()
+ {
+ var mapdoc = new HbmMapping();
+ var rc = new JoinedSubclassMapper(typeof(InheritedSimple), mapdoc);
+ rc.Persister<JoinedSubclassEntityPersister>();
+ mapdoc.JoinedSubclasses[0].Persister.Should().Contain("JoinedSubclassEntityPersister");
+ }
+ }
+}
\ No newline at end of file
Added: trunk/nhibernate/src/NHibernate.Test/MappingByCode/MappersTests/SubclassMapperTests/SetPersisterTests.cs
===================================================================
--- trunk/nhibernate/src/NHibernate.Test/MappingByCode/MappersTests/SubclassMapperTests/SetPersisterTests.cs (rev 0)
+++ trunk/nhibernate/src/NHibernate.Test/MappingByCode/MappersTests/SubclassMapperTests/SetPersisterTests.cs 2011-04-14 18:13:35 UTC (rev 5701)
@@ -0,0 +1,29 @@
+using NHibernate.Cfg.MappingSchema;
+using NHibernate.Mapping.ByCode.Impl;
+using NHibernate.Persister.Entity;
+using NUnit.Framework;
+using SharpTestsEx;
+
+namespace NHibernate.Test.MappingByCode.MappersTests.SubclassMapperTests
+{
+ public class SetPersisterTests
+ {
+ private class EntitySimple
+ {
+ public int Id { get; set; }
+ }
+
+ private class HineritedSimple: EntitySimple
+ {
+ }
+
+ [Test]
+ public void CanSetPersister()
+ {
+ var mapdoc = new HbmMapping();
+ var rc = new SubclassMapper(typeof(HineritedSimple), mapdoc);
+ rc.Persister<SingleTableEntityPersister>();
+ mapdoc.SubClasses[0].Persister.Should().Contain("SingleTableEntityPersister");
+ }
+ }
+}
\ No newline at end of file
Added: trunk/nhibernate/src/NHibernate.Test/MappingByCode/MappersTests/UnionSubclassMapperTests/SetPersisterTests.cs
===================================================================
--- trunk/nhibernate/src/NHibernate.Test/MappingByCode/MappersTests/UnionSubclassMapperTests/SetPersisterTests.cs (rev 0)
+++ trunk/nhibernate/src/NHibernate.Test/MappingByCode/MappersTests/UnionSubclassMapperTests/SetPersisterTests.cs 2011-04-14 18:13:35 UTC (rev 5701)
@@ -0,0 +1,29 @@
+using NHibernate.Cfg.MappingSchema;
+using NHibernate.Mapping.ByCode.Impl;
+using NHibernate.Persister.Entity;
+using NUnit.Framework;
+using SharpTestsEx;
+
+namespace NHibernate.Test.MappingByCode.MappersTests.UnionSubclassMapperTests
+{
+ public class SetPersisterTests
+ {
+ private class EntitySimple
+ {
+ public int Id { get; set; }
+ }
+
+ private class InheritedSimple : EntitySimple
+ {
+ }
+
+ [Test]
+ public void CanSetPersister()
+ {
+ var mapdoc = new HbmMapping();
+ var rc = new UnionSubclassMapper(typeof(InheritedSimple), mapdoc);
+ rc.Persister<UnionSubclassEntityPersister>();
+ mapdoc.UnionSubclasses[0].Persister.Should().Contain("UnionSubclassEntityPersister");
+ }
+ }
+}
\ No newline at end of file
Modified: trunk/nhibernate/src/NHibernate.Test/NHibernate.Test.csproj
===================================================================
--- trunk/nhibernate/src/NHibernate.Test/NHibernate.Test.csproj 2011-04-14 18:06:16 UTC (rev 5700)
+++ trunk/nhibernate/src/NHibernate.Test/NHibernate.Test.csproj 2011-04-14 18:13:35 UTC (rev 5701)
@@ -540,11 +540,15 @@
<Compile Include="MappingByCode\For.cs" />
<Compile Include="MappingByCode\MappersTests\AbstractPropertyContainerMapperTest.cs" />
<Compile Include="MappingByCode\MappersTests\ClassMapperTests\ClassMapperWithJoinPropertiesTest.cs" />
+ <Compile Include="MappingByCode\MappersTests\ClassMapperTests\SetPersisterTests.cs" />
<Compile Include="MappingByCode\MappersTests\CollectionIdMapperTests.cs" />
<Compile Include="MappingByCode\MappersTests\FakeUserCollectionType.cs" />
<Compile Include="MappingByCode\MappersTests\IdBagMapperTest.cs" />
+ <Compile Include="MappingByCode\MappersTests\JoinedSubclassMapperTests\SetPersisterTests.cs" />
<Compile Include="MappingByCode\MappersTests\JoinMapperTests.cs" />
+ <Compile Include="MappingByCode\MappersTests\SubclassMapperTests\SetPersisterTests.cs" />
<Compile Include="MappingByCode\MappersTests\SubclassMapperWithJoinPropertiesTest.cs" />
+ <Compile Include="MappingByCode\MappersTests\UnionSubclassMapperTests\SetPersisterTests.cs" />
<Compile Include="MappingByCode\MixAutomapping\ArrayCollectionTests.cs" />
<Compile Include="MappingByCode\MixAutomapping\BagCollectionTests.cs" />
<Compile Include="MappingByCode\MixAutomapping\ComponentsTests.cs" />
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|
|
From: <fab...@us...> - 2011-04-22 15:36:35
|
Revision: 5738
http://nhibernate.svn.sourceforge.net/nhibernate/?rev=5738&view=rev
Author: fabiomaulo
Date: 2011-04-22 15:36:27 +0000 (Fri, 22 Apr 2011)
Log Message:
-----------
Passing tests to add simple property to a dynamic-component
Modified Paths:
--------------
trunk/nhibernate/src/NHibernate.Test/NHibernate.Test.csproj
Added Paths:
-----------
trunk/nhibernate/src/NHibernate.Test/MappingByCode/MappersTests/DynamicComponentMapperTests/SimplePropertyOnDynamicCompoTests.cs
Added: trunk/nhibernate/src/NHibernate.Test/MappingByCode/MappersTests/DynamicComponentMapperTests/SimplePropertyOnDynamicCompoTests.cs
===================================================================
--- trunk/nhibernate/src/NHibernate.Test/MappingByCode/MappersTests/DynamicComponentMapperTests/SimplePropertyOnDynamicCompoTests.cs (rev 0)
+++ trunk/nhibernate/src/NHibernate.Test/MappingByCode/MappersTests/DynamicComponentMapperTests/SimplePropertyOnDynamicCompoTests.cs 2011-04-22 15:36:27 UTC (rev 5738)
@@ -0,0 +1,62 @@
+using System.Collections;
+using System.Linq;
+using NHibernate.Cfg.MappingSchema;
+using NHibernate.Mapping.ByCode;
+using NHibernate.Mapping.ByCode.Impl;
+using NUnit.Framework;
+using SharpTestsEx;
+
+namespace NHibernate.Test.MappingByCode.MappersTests.DynamicComponentMapperTests
+{
+ public class SimplePropertyOnDynamicCompoTests
+ {
+ private class Person
+ {
+ public int Id { get; set; }
+ private IDictionary info;
+ public IDictionary Info
+ {
+ get { return info; }
+ }
+ }
+
+ [Test]
+ public void WhenAddThenHas()
+ {
+ var mapdoc = new HbmMapping();
+ var component = new HbmDynamicComponent();
+ var mapper = new DynamicComponentMapper(component, For<Person>.Property(p => p.Info), mapdoc);
+ var propertyInfo = (new { A = 5 }).GetType().GetProperty("A");
+
+ mapper.Property(propertyInfo, x => { });
+
+ component.Properties.Select(x=> x.Name).Should().Have.SameSequenceAs("A");
+ }
+
+ [Test]
+ public void WhenCustomizeThenCallCustomizer()
+ {
+ var mapdoc = new HbmMapping();
+ var component = new HbmDynamicComponent();
+ var mapper = new DynamicComponentMapper(component, For<Person>.Property(p => p.Info), mapdoc);
+ var propertyInfo = (new { A = 5 }).GetType().GetProperty("A");
+ var called = false;
+ mapper.Property(propertyInfo, x => called = true);
+
+ called.Should().Be.True();
+ }
+
+ [Test]
+ public void WhenCustomizeAccessorThenIgnore()
+ {
+ var mapdoc = new HbmMapping();
+ var component = new HbmDynamicComponent();
+ var mapper = new DynamicComponentMapper(component, For<Person>.Property(p => p.Info), mapdoc);
+ var propertyInfo = (new { A = 5 }).GetType().GetProperty("A");
+
+ mapper.Property(propertyInfo, x => x.Access(Accessor.Field));
+
+ component.Properties.OfType<HbmProperty>().Single().Access.Should().Be.NullOrEmpty();
+ }
+ }
+}
\ No newline at end of file
Modified: trunk/nhibernate/src/NHibernate.Test/NHibernate.Test.csproj
===================================================================
--- trunk/nhibernate/src/NHibernate.Test/NHibernate.Test.csproj 2011-04-22 15:07:29 UTC (rev 5737)
+++ trunk/nhibernate/src/NHibernate.Test/NHibernate.Test.csproj 2011-04-22 15:36:27 UTC (rev 5738)
@@ -552,6 +552,7 @@
<Compile Include="MappingByCode\MappersTests\ClassMapperTests\TablesSincronizationTests.cs" />
<Compile Include="MappingByCode\MappersTests\CollectionIdMapperTests.cs" />
<Compile Include="MappingByCode\MappersTests\DynamicComponentMapperTests\DynCompAttributesSettingTest.cs" />
+ <Compile Include="MappingByCode\MappersTests\DynamicComponentMapperTests\SimplePropertyOnDynamicCompoTests.cs" />
<Compile Include="MappingByCode\MappersTests\FakeUserCollectionType.cs" />
<Compile Include="MappingByCode\MappersTests\IdBagMapperTest.cs" />
<Compile Include="MappingByCode\MappersTests\JoinedSubclassMapperTests\SetPersisterTests.cs" />
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|
|
From: <fab...@us...> - 2011-04-22 21:50:36
|
Revision: 5750
http://nhibernate.svn.sourceforge.net/nhibernate/?rev=5750&view=rev
Author: fabiomaulo
Date: 2011-04-22 21:50:29 +0000 (Fri, 22 Apr 2011)
Log Message:
-----------
Tests for NH-2660 and NH-2661
Modified Paths:
--------------
trunk/nhibernate/src/NHibernate.Test/NHibernate.Test.csproj
Added Paths:
-----------
trunk/nhibernate/src/NHibernate.Test/NHSpecificTest/NH2660And2661/
trunk/nhibernate/src/NHibernate.Test/NHSpecificTest/NH2660And2661/DomainClass.cs
trunk/nhibernate/src/NHibernate.Test/NHSpecificTest/NH2660And2661/Mappings.hbm.xml
trunk/nhibernate/src/NHibernate.Test/NHSpecificTest/NH2660And2661/Test.cs
Added: trunk/nhibernate/src/NHibernate.Test/NHSpecificTest/NH2660And2661/DomainClass.cs
===================================================================
--- trunk/nhibernate/src/NHibernate.Test/NHSpecificTest/NH2660And2661/DomainClass.cs (rev 0)
+++ trunk/nhibernate/src/NHibernate.Test/NHSpecificTest/NH2660And2661/DomainClass.cs 2011-04-22 21:50:29 UTC (rev 5750)
@@ -0,0 +1,12 @@
+using System;
+
+namespace NHibernate.Test.NHSpecificTest.NH2660And2661
+{
+ public class DomainClass
+ {
+ private int id;
+ private DateTime data;
+ public int Id { get { return id; } set { id = value; } }
+ public DateTime Data { get { return data; } set { data = value; } }
+ }
+}
Added: trunk/nhibernate/src/NHibernate.Test/NHSpecificTest/NH2660And2661/Mappings.hbm.xml
===================================================================
--- trunk/nhibernate/src/NHibernate.Test/NHSpecificTest/NH2660And2661/Mappings.hbm.xml (rev 0)
+++ trunk/nhibernate/src/NHibernate.Test/NHSpecificTest/NH2660And2661/Mappings.hbm.xml 2011-04-22 21:50:29 UTC (rev 5750)
@@ -0,0 +1,11 @@
+<?xml version="1.0" encoding="utf-8" ?>
+<hibernate-mapping xmlns="urn:nhibernate-mapping-2.2" assembly="NHibernate.Test"
+ namespace="NHibernate.Test.NHSpecificTest.NH2660And2661" default-access="field.camelcase"
+ default-lazy="false">
+ <class name="DomainClass">
+ <id name="Id">
+ <generator class="assigned" />
+ </id>
+ <property name="Data" type="Time" />
+ </class>
+</hibernate-mapping>
\ No newline at end of file
Added: trunk/nhibernate/src/NHibernate.Test/NHSpecificTest/NH2660And2661/Test.cs
===================================================================
--- trunk/nhibernate/src/NHibernate.Test/NHSpecificTest/NH2660And2661/Test.cs (rev 0)
+++ trunk/nhibernate/src/NHibernate.Test/NHSpecificTest/NH2660And2661/Test.cs 2011-04-22 21:50:29 UTC (rev 5750)
@@ -0,0 +1,50 @@
+using System;
+using NHibernate.Dialect;
+using NUnit.Framework;
+using SharpTestsEx;
+
+namespace NHibernate.Test.NHSpecificTest.NH2660And2661
+{
+ [TestFixture]
+ public class Test : BugTestCase
+ {
+ protected override void OnSetUp()
+ {
+ base.OnSetUp();
+ using (ISession session = OpenSession())
+ {
+ DomainClass entity = new DomainClass { Id = 1, Data = DateTime.Parse("10:00") };
+ session.Save(entity);
+ session.Flush();
+ }
+ }
+
+ protected override void OnTearDown()
+ {
+ base.OnTearDown();
+ using (ISession session = OpenSession())
+ {
+ session.CreateQuery("delete from DomainClass").ExecuteUpdate();
+ session.Flush();
+ }
+ }
+
+ protected override bool AppliesTo(Dialect.Dialect dialect)
+ {
+ return dialect is MsSql2008Dialect;
+ }
+
+ [Test, Ignore("workaround to sqlserver DP, not fixed yet")]
+ public void ShouldBeAbleToQueryEntity()
+ {
+ using (ISession session = OpenSession())
+ {
+ var query =
+ session.CreateQuery(
+ @"from DomainClass entity where Data = :data");
+ query.SetParameter("data", DateTime.Parse("10:00"), NHibernateUtil.Time);
+ query.Executing(x=> x.List()).NotThrows();
+ }
+ }
+ }
+}
Modified: trunk/nhibernate/src/NHibernate.Test/NHibernate.Test.csproj
===================================================================
--- trunk/nhibernate/src/NHibernate.Test/NHibernate.Test.csproj 2011-04-22 19:01:38 UTC (rev 5749)
+++ trunk/nhibernate/src/NHibernate.Test/NHibernate.Test.csproj 2011-04-22 21:50:29 UTC (rev 5750)
@@ -783,6 +783,8 @@
<Compile Include="NHSpecificTest\NH2603\Model.cs" />
<Compile Include="NHSpecificTest\NH2632\Domain.cs" />
<Compile Include="NHSpecificTest\NH2632\Fixture.cs" />
+ <Compile Include="NHSpecificTest\NH2660And2661\DomainClass.cs" />
+ <Compile Include="NHSpecificTest\NH2660And2661\Test.cs" />
<Compile Include="NHSpecificTest\Properties\CompositePropertyRefTest.cs" />
<Compile Include="NHSpecificTest\Properties\DynamicEntityTest.cs" />
<Compile Include="NHSpecificTest\Properties\Model.cs" />
@@ -2615,6 +2617,7 @@
<EmbeddedResource Include="NHSpecificTest\NH1291AnonExample\Mappings.hbm.xml" />
</ItemGroup>
<ItemGroup>
+ <EmbeddedResource Include="NHSpecificTest\NH2660And2661\Mappings.hbm.xml" />
<EmbeddedResource Include="NHSpecificTest\DataReaderWrapperTest\Mappings.hbm.xml" />
<EmbeddedResource Include="NHSpecificTest\NH2583\Mappings.hbm.xml" />
<EmbeddedResource Include="NHSpecificTest\SqlConverterAndMultiQuery\Mappings.hbm.xml" />
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|
|
From: <fab...@us...> - 2011-04-23 20:42:33
|
Revision: 5754
http://nhibernate.svn.sourceforge.net/nhibernate/?rev=5754&view=rev
Author: fabiomaulo
Date: 2011-04-23 20:42:26 +0000 (Sat, 23 Apr 2011)
Log Message:
-----------
Test to check NH-1642 was fixed too
Modified Paths:
--------------
trunk/nhibernate/src/NHibernate.Test/NHibernate.Test.csproj
Added Paths:
-----------
trunk/nhibernate/src/NHibernate.Test/NHSpecificTest/NH1642/
trunk/nhibernate/src/NHibernate.Test/NHSpecificTest/NH1642/AbstractRule.cs
trunk/nhibernate/src/NHibernate.Test/NHSpecificTest/NH1642/Mappings.hbm.xml
trunk/nhibernate/src/NHibernate.Test/NHSpecificTest/NH1642/TrafficRule.cs
trunk/nhibernate/src/NHibernate.Test/NHSpecificTest/NH1642/TrafficRuleSet.cs
trunk/nhibernate/src/NHibernate.Test/NHSpecificTest/NH1642/TrafficRuleSetDAOTest.cs
Added: trunk/nhibernate/src/NHibernate.Test/NHSpecificTest/NH1642/AbstractRule.cs
===================================================================
--- trunk/nhibernate/src/NHibernate.Test/NHSpecificTest/NH1642/AbstractRule.cs (rev 0)
+++ trunk/nhibernate/src/NHibernate.Test/NHSpecificTest/NH1642/AbstractRule.cs 2011-04-23 20:42:26 UTC (rev 5754)
@@ -0,0 +1,9 @@
+namespace NHibernate.Test.NHSpecificTest.NH1642
+{
+ public abstract class AbstractRule
+ {
+ public virtual int id { get; set; }
+ public virtual string name { get; set; }
+ public virtual string description { get; set; }
+ }
+}
\ No newline at end of file
Added: trunk/nhibernate/src/NHibernate.Test/NHSpecificTest/NH1642/Mappings.hbm.xml
===================================================================
--- trunk/nhibernate/src/NHibernate.Test/NHSpecificTest/NH1642/Mappings.hbm.xml (rev 0)
+++ trunk/nhibernate/src/NHibernate.Test/NHSpecificTest/NH1642/Mappings.hbm.xml 2011-04-23 20:42:26 UTC (rev 5754)
@@ -0,0 +1,40 @@
+<?xml version="1.0" encoding="utf-8" ?>
+<hibernate-mapping xmlns="urn:nhibernate-mapping-2.2"
+ namespace="NHibernate.Test.NHSpecificTest.NH1642"
+ assembly="NHibernate.Test">
+ <class name="AbstractRule" table="GENERIC_RULE">
+ <id name="id" column="RULE_ID">
+ <generator class="identity"/>
+ </id>
+ <discriminator column="RULE_TYPE" type="string"/>
+
+ <property name="name" />
+ <property name="description"/>
+
+ <subclass name="TrafficRule" discriminator-value="TRAFFIC">
+ <join table="TRAFFIC_RULE">
+ <key column="RULE_ID"/>
+
+ <property name="effectiveStartDate" column="start_date" />
+ <property name="effectiveEndDate" column="end_date" />
+
+ <many-to-one name="ruleSet" class="TrafficRuleSet" column="RULESET_ID"/>
+ </join>
+
+ </subclass>
+ </class>
+ <class name="TrafficRuleSet" table="TRAFFIC_RULSET">
+ <id name="id" column="RULESET_ID">
+ <generator class="identity"/>
+ </id>
+
+ <property name="name"/>
+ <property name="description" />
+
+ <bag name="rules" inverse="true" cascade="all">
+ <key column="RULESET_ID" on-delete="cascade" />
+ <one-to-many class="TrafficRule"/>
+ </bag>
+ </class>
+
+</hibernate-mapping>
Added: trunk/nhibernate/src/NHibernate.Test/NHSpecificTest/NH1642/TrafficRule.cs
===================================================================
--- trunk/nhibernate/src/NHibernate.Test/NHSpecificTest/NH1642/TrafficRule.cs (rev 0)
+++ trunk/nhibernate/src/NHibernate.Test/NHSpecificTest/NH1642/TrafficRule.cs 2011-04-23 20:42:26 UTC (rev 5754)
@@ -0,0 +1,17 @@
+using System;
+
+namespace NHibernate.Test.NHSpecificTest.NH1642
+{
+ public class TrafficRule : AbstractRule
+ {
+ public TrafficRule()
+ {
+ effectiveStartDate = DateTime.Today;
+ effectiveEndDate = DateTime.Today;
+ }
+ public virtual DateTime effectiveStartDate { get; set; }
+ public virtual DateTime effectiveEndDate { get; set; }
+
+ public virtual TrafficRuleSet ruleSet { get; set; }
+ }
+}
\ No newline at end of file
Added: trunk/nhibernate/src/NHibernate.Test/NHSpecificTest/NH1642/TrafficRuleSet.cs
===================================================================
--- trunk/nhibernate/src/NHibernate.Test/NHSpecificTest/NH1642/TrafficRuleSet.cs (rev 0)
+++ trunk/nhibernate/src/NHibernate.Test/NHSpecificTest/NH1642/TrafficRuleSet.cs 2011-04-23 20:42:26 UTC (rev 5754)
@@ -0,0 +1,12 @@
+using System.Collections.Generic;
+
+namespace NHibernate.Test.NHSpecificTest.NH1642
+{
+ public class TrafficRuleSet
+ {
+ public virtual int id { get; set; }
+ public virtual string name { get; set; }
+ public virtual string description { get; set; }
+ public virtual IList<TrafficRule> rules { get; set; }
+ }
+}
\ No newline at end of file
Added: trunk/nhibernate/src/NHibernate.Test/NHSpecificTest/NH1642/TrafficRuleSetDAOTest.cs
===================================================================
--- trunk/nhibernate/src/NHibernate.Test/NHSpecificTest/NH1642/TrafficRuleSetDAOTest.cs (rev 0)
+++ trunk/nhibernate/src/NHibernate.Test/NHSpecificTest/NH1642/TrafficRuleSetDAOTest.cs 2011-04-23 20:42:26 UTC (rev 5754)
@@ -0,0 +1,79 @@
+using System;
+using System.Collections.Generic;
+using NUnit.Framework;
+
+namespace NHibernate.Test.NHSpecificTest.NH1642
+{
+ [TestFixture]
+ public class TrafficRuleSetDAOTest: BugTestCase
+ {
+ private class Scenario: IDisposable
+ {
+ private readonly ISessionFactory sessionFactory;
+ private int ruleSetId;
+ private string ruleSetName;
+
+ public Scenario(ISessionFactory sessionFactory)
+ {
+ this.sessionFactory = sessionFactory;
+ ruleSetId = 2;
+ ruleSetName = "RuleSet" + ruleSetId.ToString();
+
+ using (var session = sessionFactory.OpenSession())
+ {
+ using (var tr = session.BeginTransaction())
+ {
+ TrafficRuleSet ruleSet = new TrafficRuleSet { name = ruleSetName, description = ruleSetName };
+ TrafficRule rule = new TrafficRule { ruleSet = ruleSet, name = ruleSetName + "-a", description = "Some description" };
+
+ ruleSet.rules = new List<TrafficRule> { rule };
+
+ ruleSetId = (int)session.Save(ruleSet);
+ tr.Commit();
+ }
+ }
+ }
+
+ public int RuleSetId
+ {
+ get { return ruleSetId; }
+ }
+
+ public string RuleSetName
+ {
+ get { return ruleSetName; }
+ }
+
+ public void Dispose()
+ {
+ using (var session = sessionFactory.OpenSession())
+ {
+ using (var tr = session.BeginTransaction())
+ {
+ session.CreateQuery("delete from TrafficRule").ExecuteUpdate();
+ session.CreateQuery("delete from TrafficRuleSet").ExecuteUpdate();
+ tr.Commit();
+ }
+ }
+ }
+ }
+ [Test]
+ public void addRuleSet()
+ {
+ using (var scenario = new Scenario(Sfi))
+ {
+ using (var session = OpenSession())
+ {
+ using (var tr = session.BeginTransaction())
+ {
+ TrafficRuleSet fromDb = session.Get<TrafficRuleSet>(scenario.RuleSetId);
+ Assert.IsNotNull(fromDb);
+ Assert.AreEqual(fromDb.name, scenario.RuleSetName);
+ Assert.AreEqual(fromDb.rules[0].name, scenario.RuleSetName + "-a");
+ }
+ }
+ }
+ }
+
+ }
+}
Modified: trunk/nhibernate/src/NHibernate.Test/NHibernate.Test.csproj
===================================================================
--- trunk/nhibernate/src/NHibernate.Test/NHibernate.Test.csproj 2011-04-23 20:10:49 UTC (rev 5753)
+++ trunk/nhibernate/src/NHibernate.Test/NHibernate.Test.csproj 2011-04-23 20:42:26 UTC (rev 5754)
@@ -626,6 +626,10 @@
<Compile Include="NHSpecificTest\NH1323\Domain.cs" />
<Compile Include="NHSpecificTest\NH1421\AnEntity.cs" />
<Compile Include="NHSpecificTest\NH1421\Fixture.cs" />
+ <Compile Include="NHSpecificTest\NH1642\AbstractRule.cs" />
+ <Compile Include="NHSpecificTest\NH1642\TrafficRule.cs" />
+ <Compile Include="NHSpecificTest\NH1642\TrafficRuleSet.cs" />
+ <Compile Include="NHSpecificTest\NH1642\TrafficRuleSetDAOTest.cs" />
<Compile Include="NHSpecificTest\NH1836\Entity.cs" />
<Compile Include="NHSpecificTest\NH1836\EntityDTO.cs" />
<Compile Include="NHSpecificTest\NH1836\Fixture.cs" />
@@ -2627,6 +2631,7 @@
<EmbeddedResource Include="NHSpecificTest\NH1291AnonExample\Mappings.hbm.xml" />
</ItemGroup>
<ItemGroup>
+ <EmbeddedResource Include="NHSpecificTest\NH1642\Mappings.hbm.xml" />
<EmbeddedResource Include="Stateless\Contact.hbm.xml" />
<EmbeddedResource Include="Stateless\Fetching\Mappings.hbm.xml" />
<EmbeddedResource Include="NHSpecificTest\NH2660And2661\Mappings.hbm.xml" />
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|
|
From: <pa...@us...> - 2011-04-25 05:57:53
|
Revision: 5758
http://nhibernate.svn.sourceforge.net/nhibernate/?rev=5758&view=rev
Author: patearl
Date: 2011-04-25 05:57:46 +0000 (Mon, 25 Apr 2011)
Log Message:
-----------
Linq: More tests related to NH-2583, thanks to Harald Mueller.
Modified Paths:
--------------
trunk/nhibernate/src/NHibernate.Test/NHSpecificTest/NH2583/Domain.cs
trunk/nhibernate/src/NHibernate.Test/NHSpecificTest/NH2583/MassTestingNotAndDeMorganFixture.cs
trunk/nhibernate/src/NHibernate.Test/NHibernate.Test.csproj
Added Paths:
-----------
trunk/nhibernate/src/NHibernate.Test/NHSpecificTest/NH2583/MassTestingMoreOperatorsFixture.cs
Modified: trunk/nhibernate/src/NHibernate.Test/NHSpecificTest/NH2583/Domain.cs
===================================================================
--- trunk/nhibernate/src/NHibernate.Test/NHSpecificTest/NH2583/Domain.cs 2011-04-25 05:55:52 UTC (rev 5757)
+++ trunk/nhibernate/src/NHibernate.Test/NHSpecificTest/NH2583/Domain.cs 2011-04-25 05:57:46 UTC (rev 5758)
@@ -1,261 +1,300 @@
-namespace NHibernate.Test.NHSpecificTest.NH2583
-{
- public class MyRef1
- {
- private static int _idCt = 1000;
- private int _id;
-
- public MyRef1()
- {
- _id = ++_idCt;
- }
-
- public virtual int Id {
- get { return _id; }
- set { _id = value; }
- }
-
- public virtual int? I1 { get; set; }
- public virtual int I2 { get; set; }
- public virtual int I3 { get; set; }
-
- public virtual MyRef2 BO2 { get; set; }
- public virtual MyRef3 BO3 { get; set; }
-
- public virtual MyRef2 GetOrCreateBO2(ISession s)
- {
- if (BO2 == null)
- {
- BO2 = new MyRef2();
- s.Save(BO2);
- }
- return BO2;
- }
-
- public virtual MyRef3 GetOrCreateBO3(ISession s)
- {
- if (BO3 == null)
- {
- BO3 = new MyRef3();
- s.Save(BO3);
- }
- return BO3;
- }
- }
-
- public class MyRef2
- {
- private static int _idCt = 1000;
- private int _id;
-
- public MyRef2()
- {
- _id = ++_idCt;
- }
-
- public virtual int Id {
- get { return _id; }
- set { _id = value; }
- }
-
- public virtual int? J1 { get; set; }
- public virtual int J2 { get; set; }
- public virtual int J3 { get; set; }
- }
-
- public class MyRef3
- {
- private static int _idCt = 3000;
- private int _id;
-
- public MyRef3()
- {
- _id = ++_idCt;
- }
-
- public virtual int Id {
- get { return _id; }
- set { _id = value; }
- }
-
- public virtual int L1 { get; set; }
- }
-
- public enum Ignore { Ignore }
- public enum TK { Zero, One }
- public enum TBO1_I { Null, Zero, One }
- public enum TBO2_J { Null, Zero, One }
- public enum TBO1_BO2_J { Null, BO1, Zero, One }
- public enum TBO1_BO3_L { Null, BO1, Zero, One }
-
- public class MyBO
- {
- private static int _idCt = 0;
- private int _id;
-
- public MyBO()
- {
- _id = ++_idCt;
- }
-
- public virtual int Id {
- get { return _id; }
- set { _id = value; }
- }
-
- public virtual string Name { get; set; }
- public virtual MyBO LeftSon { get; set; }
- public virtual MyBO RightSon { get; set; }
- public virtual MyRef1 BO1 { get; set; }
- public virtual MyRef1 OtherBO1 { get; set; }
- public virtual MyRef2 BO2 { get; set; }
- public virtual int? K1 { get; set; }
- public virtual int K2 { get; set; }
- public virtual int K3 { get; set; }
-
- private MyRef1 GetOrCreateBO1(ISession s)
- {
- if (BO1 == null)
- {
- BO1 = new MyRef1();
- s.Save(BO1);
- }
- return BO1;
- }
-
- private MyRef2 GetOrCreateBO2(ISession s)
- {
- if (BO2 == null)
- {
- BO2 = new MyRef2();
- s.Save(BO2);
- }
- return BO2;
- }
-
- public static void SetK1(MyBO bo, ISession s, TK value)
- {
- bo.K1 = value == TK.One ? 1 : 0;
- }
-
- public static void SetK2(MyBO bo, ISession s, TK value)
- {
- bo.K2 = value == TK.One ? 1 : 0;
- }
-
- public static void SetK3(MyBO bo, ISession s, TK value)
- {
- bo.K3 = value == TK.One ? 1 : 0;
- }
-
- private static void SetBO1_I(MyBO bo, ISession s, TBO1_I value, System.Action<MyRef1, int> set)
- {
- switch (value)
- {
- case TBO1_I.Null:
- bo.BO1 = null;
- break;
- case TBO1_I.One:
- set(bo.GetOrCreateBO1(s), 1);
- break;
- case TBO1_I.Zero:
- set(bo.GetOrCreateBO1(s), 0);
- break;
- }
- }
-
- public static void SetBO1_I1(MyBO bo, ISession s, TBO1_I value)
- {
- SetBO1_I(bo, s, value, (b, i) => b.I1 = i);
- }
-
- public static void SetBO1_I2(MyBO bo, ISession s, TBO1_I value)
- {
- SetBO1_I(bo, s, value, (b, i) => b.I2 = i);
- }
-
- public static void SetBO1_I3(MyBO bo, ISession s, TBO1_I value)
- {
- SetBO1_I(bo, s, value, (b, i) => b.I3 = i);
- }
-
- private static void SetBO2_J(MyBO bo, ISession s, TBO2_J value, System.Action<MyRef2, int> set)
- {
- switch (value)
- {
- case TBO2_J.Null:
- bo.BO2 = null;
- break;
- case TBO2_J.One:
- set(bo.GetOrCreateBO2(s), 1);
- break;
- case TBO2_J.Zero:
- set(bo.GetOrCreateBO2(s), 0);
- break;
- }
- }
-
- public static void SetBO2_J1(MyBO bo, ISession s, TBO2_J value)
- {
- SetBO2_J(bo, s, value, (b, i) => b.J1 = i);
- }
-
- public static void SetBO2_J2(MyBO bo, ISession s, TBO2_J value)
- {
- SetBO2_J(bo, s, value, (b, i) => b.J2 = i);
- }
-
- public static void SetBO2_J3(MyBO bo, ISession s, TBO2_J value)
- {
- SetBO2_J(bo, s, value, (b, i) => b.J3 = i);
- }
-
- private static void SetBO1_BO2_J(MyBO bo, ISession s, TBO1_BO2_J value, System.Action<MyRef2, int> set)
- {
- switch (value)
- {
- case TBO1_BO2_J.Null:
- bo.BO1 = null;
- break;
- case TBO1_BO2_J.BO1:
- bo.GetOrCreateBO1(s).BO2 = null;
- break;
- case TBO1_BO2_J.Zero:
- set(bo.GetOrCreateBO1(s).GetOrCreateBO2(s), 0);
- break;
- case TBO1_BO2_J.One:
- set(bo.GetOrCreateBO1(s).GetOrCreateBO2(s), 1);
- break;
- }
- }
-
- public static void SetBO1_BO2_J1(MyBO bo, ISession s, TBO1_BO2_J value)
- {
- SetBO1_BO2_J(bo, s, value, (b, i) => b.J1 = i);
- }
-
- public static void Set_BO1_BO2_J2(MyBO bo, ISession s, TBO1_BO2_J value)
- {
- SetBO1_BO2_J(bo, s, value, (b, i) => b.J2 = i);
- }
-
- public static void SetBO1_BO3_L1(MyBO bo, ISession s, TBO1_BO3_L value)
- {
- switch (value)
- {
- case TBO1_BO3_L.Null:
- bo.BO1 = null;
- break;
- case TBO1_BO3_L.BO1:
- bo.GetOrCreateBO1(s).BO3 = null;
- break;
- case TBO1_BO3_L.Zero:
- bo.GetOrCreateBO1(s).GetOrCreateBO3(s).L1 = 0;
- break;
- case TBO1_BO3_L.One:
- bo.GetOrCreateBO1(s).GetOrCreateBO3(s).L1 = 1;
- break;
- }
- }
- }
-}
+using System;
+
+namespace NHibernate.Test.NHSpecificTest.NH2583
+{
+ public class MyRef1
+ {
+ private static int _idCt = 1000;
+ private int _id;
+
+ public MyRef1()
+ {
+ _id = ++_idCt;
+ }
+
+ public virtual int Id
+ {
+ get { return _id; }
+ set { _id = value; }
+ }
+
+ public virtual int? I1 { get; set; }
+ public virtual int I2 { get; set; }
+ public virtual int I3 { get; set; }
+
+ public virtual MyRef2 BO2 { get; set; }
+ public virtual MyRef3 BO3 { get; set; }
+
+ public virtual MyRef2 GetOrCreateBO2(ISession s)
+ {
+ if (BO2 == null)
+ {
+ BO2 = new MyRef2();
+ s.Save(BO2);
+ }
+ return BO2;
+ }
+
+ public virtual MyRef3 GetOrCreateBO3(ISession s)
+ {
+ if (BO3 == null)
+ {
+ BO3 = new MyRef3();
+ s.Save(BO3);
+ }
+ return BO3;
+ }
+ }
+
+ public class MyRef2
+ {
+ private static int _idCt = 1000;
+ private int _id;
+
+ public MyRef2()
+ {
+ _id = ++_idCt;
+ }
+
+ public virtual int Id
+ {
+ get { return _id; }
+ set { _id = value; }
+ }
+
+ public virtual int? J1 { get; set; }
+ public virtual int J2 { get; set; }
+ public virtual int J3 { get; set; }
+ }
+
+ public class MyRef3
+ {
+ private static int _idCt = 3000;
+ private int _id;
+
+ public MyRef3()
+ {
+ _id = ++_idCt;
+ }
+
+ public virtual int Id
+ {
+ get { return _id; }
+ set { _id = value; }
+ }
+
+ public virtual int L1 { get; set; }
+ }
+
+ public enum Ignore { Ignore }
+ public enum TK { ValueNull, Zero, One }
+ public enum TBO1_I { Null, ValueNull, Zero, One }
+ public enum TBO2_J { Null, ValueNull, Zero, One }
+ public enum TBO1_BO2_J { Null, BO1, ValueNull, Zero, One }
+ public enum TBO1_BO3_L { Null, BO1, ValueNull, Zero, One }
+
+ public class MyBO
+ {
+ private static int _idCt = 0;
+ private int _id;
+
+ public MyBO()
+ {
+ _id = ++_idCt;
+ }
+
+ public virtual int Id
+ {
+ get { return _id; }
+ set { _id = value; }
+ }
+
+ public virtual string Name { get; set; }
+ public virtual MyBO LeftSon { get; set; }
+ public virtual MyBO RightSon { get; set; }
+ public virtual MyRef1 BO1 { get; set; }
+ public virtual MyRef1 OtherBO1 { get; set; }
+ public virtual MyRef2 BO2 { get; set; }
+ public virtual int? K1 { get; set; }
+ public virtual int K2 { get; set; }
+ public virtual int K3 { get; set; }
+
+ private MyRef1 GetOrCreateBO1(ISession s)
+ {
+ if (BO1 == null)
+ {
+ BO1 = new MyRef1();
+ s.Save(BO1);
+ }
+ return BO1;
+ }
+
+ private MyRef2 GetOrCreateBO2(ISession s)
+ {
+ if (BO2 == null)
+ {
+ BO2 = new MyRef2();
+ s.Save(BO2);
+ }
+ return BO2;
+ }
+
+ public static void SetK1(MyBO bo, ISession s, TK value)
+ {
+ switch (value)
+ {
+ case TK.ValueNull:
+ bo.K1 = null;
+ break;
+ case TK.Zero:
+ bo.K1 = 0;
+ break;
+ case TK.One:
+ bo.K1 = 1;
+ break;
+ default:
+ throw new Exception("Value " + value + " not handled in code");
+ }
+ }
+
+ public static void SetK2(MyBO bo, ISession s, TK value)
+ {
+ bo.K2 = value == TK.One ? 1 : 0;
+ }
+
+ public static void SetK3(MyBO bo, ISession s, TK value)
+ {
+ bo.K3 = value == TK.One ? 1 : 0;
+ }
+
+ private static void SetBO1_I(MyBO bo, ISession s, TBO1_I value, Action<MyRef1, int?> set)
+ {
+ switch (value)
+ {
+ case TBO1_I.Null:
+ bo.BO1 = null;
+ break;
+ case TBO1_I.ValueNull:
+ set(bo.GetOrCreateBO1(s), null);
+ break;
+ case TBO1_I.Zero:
+ set(bo.GetOrCreateBO1(s), 0);
+ break;
+ case TBO1_I.One:
+ set(bo.GetOrCreateBO1(s), 1);
+ break;
+ default:
+ throw new Exception("Value " + value + " not handled in code");
+ }
+ }
+
+ public static void SetBO1_I1(MyBO bo, ISession s, TBO1_I value)
+ {
+ SetBO1_I(bo, s, value, (b, i) => b.I1 = i);
+ }
+
+ public static void SetBO1_I2(MyBO bo, ISession s, TBO1_I value)
+ {
+ SetBO1_I(bo, s, value, (b, i) => b.I2 = i ?? 0);
+ }
+
+ public static void SetBO1_I3(MyBO bo, ISession s, TBO1_I value)
+ {
+ SetBO1_I(bo, s, value, (b, i) => b.I3 = i ?? 0);
+ }
+
+ private static void SetBO2_J(MyBO bo, ISession s, TBO2_J value, Action<MyRef2, int?> set)
+ {
+ switch (value)
+ {
+ case TBO2_J.Null:
+ bo.BO2 = null;
+ break;
+ case TBO2_J.ValueNull:
+ set(bo.GetOrCreateBO2(s), null);
+ break;
+ case TBO2_J.Zero:
+ set(bo.GetOrCreateBO2(s), 0);
+ break;
+ case TBO2_J.One:
+ set(bo.GetOrCreateBO2(s), 1);
+ break;
+ default:
+ throw new Exception("Value " + value + " not handled in code");
+ }
+ }
+
+ public static void SetBO2_J1(MyBO bo, ISession s, TBO2_J value)
+ {
+ SetBO2_J(bo, s, value, (b, i) => b.J1 = i);
+ }
+
+ public static void SetBO2_J2(MyBO bo, ISession s, TBO2_J value)
+ {
+ SetBO2_J(bo, s, value, (b, i) => b.J2 = i ?? 0);
+ }
+
+ public static void SetBO2_J3(MyBO bo, ISession s, TBO2_J value)
+ {
+ SetBO2_J(bo, s, value, (b, i) => b.J3 = i ?? 0);
+ }
+
+ private static void SetBO1_BO2_J(MyBO bo, ISession s, TBO1_BO2_J value, Action<MyRef2, int?> set)
+ {
+ switch (value)
+ {
+ case TBO1_BO2_J.Null:
+ bo.BO1 = null;
+ break;
+ case TBO1_BO2_J.BO1:
+ bo.GetOrCreateBO1(s).BO2 = null;
+ break;
+ case TBO1_BO2_J.ValueNull:
+ set(bo.GetOrCreateBO1(s).GetOrCreateBO2(s), null);
+ break;
+ case TBO1_BO2_J.Zero:
+ set(bo.GetOrCreateBO1(s).GetOrCreateBO2(s), 0);
+ break;
+ case TBO1_BO2_J.One:
+ set(bo.GetOrCreateBO1(s).GetOrCreateBO2(s), 1);
+ break;
+ default:
+ throw new Exception("Value " + value + " not handled in code");
+ }
+ }
+
+ public static void SetBO1_BO2_J1(MyBO bo, ISession s, TBO1_BO2_J value)
+ {
+ SetBO1_BO2_J(bo, s, value, (b, i) => b.J1 = i);
+ }
+
+ public static void Set_BO1_BO2_J2(MyBO bo, ISession s, TBO1_BO2_J value)
+ {
+ SetBO1_BO2_J(bo, s, value, (b, i) => b.J2 = i ?? 0);
+ }
+
+ public static void SetBO1_BO3_L1(MyBO bo, ISession s, TBO1_BO3_L value)
+ {
+ switch (value)
+ {
+ case TBO1_BO3_L.Null:
+ bo.BO1 = null;
+ break;
+ case TBO1_BO3_L.BO1:
+ bo.GetOrCreateBO1(s).BO3 = null;
+ break;
+ case TBO1_BO3_L.ValueNull:
+ bo.GetOrCreateBO1(s).GetOrCreateBO3(s).L1 = 0; // L1 is int, not int?
+ break;
+ case TBO1_BO3_L.Zero:
+ bo.GetOrCreateBO1(s).GetOrCreateBO3(s).L1 = 0;
+ break;
+ case TBO1_BO3_L.One:
+ bo.GetOrCreateBO1(s).GetOrCreateBO3(s).L1 = 1;
+ break;
+ default:
+ throw new Exception("Value " + value + " not handled in code");
+ }
+ }
+ }
+}
Added: trunk/nhibernate/src/NHibernate.Test/NHSpecificTest/NH2583/MassTestingMoreOperatorsFixture.cs
===================================================================
--- trunk/nhibernate/src/NHibernate.Test/NHSpecificTest/NH2583/MassTestingMoreOperatorsFixture.cs (rev 0)
+++ trunk/nhibernate/src/NHibernate.Test/NHSpecificTest/NH2583/MassTestingMoreOperatorsFixture.cs 2011-04-25 05:57:46 UTC (rev 5758)
@@ -0,0 +1,121 @@
+using System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Linq.Expressions;
+using NHibernate.Linq;
+using NUnit.Framework;
+
+namespace NHibernate.Test.NHSpecificTest.NH2583
+{
+ public class MassTestingMoreOperatorsFixture : AbstractMassTestingFixture
+ {
+ protected override int TestAndAssert(Expression<Func<MyBO, bool>> condition, ISession session, IEnumerable<int> expectedIds)
+ {
+ IQueryable<int?> result = session.Query<MyBO>().Where(condition).Select(bo => (int?)bo.BO1.Id);
+
+ var forceDBRun = result.ToList();
+
+ IEnumerable<int> resultNullTo0 = forceDBRun.Select(i => i ?? 0);
+
+ var expectedBO1Ids = session.Query<MyBO>().Where(bo => expectedIds.Contains(bo.Id)).Select(bo => bo.BO1 == null ? 0 : bo.BO1.Id).ToList();
+ AreEqual(expectedBO1Ids, resultNullTo0.ToArray());
+
+ // Unused result.
+ return -1;
+ }
+
+ // Condition pattern: (A && B) && (C || D) SELECT E
+
+ [Test]
+ public void TestNestedPlus()
+ {
+ RunTest(x => (x.K1 + x.K2) + x.K2 == null || (x.K1 + x.K2) + x.K2 == null,
+ Setters<TK, TK>(MyBO.SetK1, MyBO.SetK2));
+ }
+
+ [Test]
+ public void TestNestedPlusBehindNot()
+ {
+ RunTest(x => !((x.K1 + x.K2) + x.K2 != null),
+ Setters<TK, TK>(MyBO.SetK1, MyBO.SetK2));
+ }
+
+ [Test]
+ public void TestNestedPlusBehindNotAnd()
+ {
+ RunTest(x => !((x.K1 + x.K2) + x.K2 != null && (x.K1 + x.K2) + x.K2 != null),
+ Setters<TK, TK>(MyBO.SetK1, MyBO.SetK2));
+ }
+
+ [Test]
+ public void TestNestedPlusBehindNotOr()
+ {
+ RunTest(x => !((x.K1 + x.K2) + x.K2 != null || (x.K1 + x.K2) + x.K2 != null),
+ Setters<TK, TK>(MyBO.SetK1, MyBO.SetK2));
+ }
+
+ [Test]
+ public void TestNestedPlusBehindOrNav()
+ {
+ RunTest(x => (x.BO1.I1 + x.BO1.I2) + x.BO1.I2 == null || (x.BO1.I1 + x.BO1.I2) + x.BO1.I2 == null,
+ Setters<TBO1_I, TBO1_I>(MyBO.SetBO1_I1, MyBO.SetBO1_I2));
+ }
+ [Test]
+ public void TestNestedPlusBehindNotNav()
+ {
+ RunTest(x => !((x.BO1.I1 + x.BO1.I2) + x.BO1.I2 != null),
+ Setters<TBO1_I, TBO1_I>(MyBO.SetBO1_I1, MyBO.SetBO1_I2));
+ }
+ [Test]
+ public void TestNestedPlusBehindNotAndNav()
+ {
+ RunTest(x => !((x.BO1.I1 + x.BO1.I2) + x.BO1.I2 != null && (x.BO1.I1 + x.BO1.I2) + x.BO1.I2 != null),
+ Setters<TBO1_I, TBO1_I>(MyBO.SetBO1_I1, MyBO.SetBO1_I2));
+ }
+ [Test]
+ public void TestNestedPlusBehindNotOrNav()
+ {
+ RunTest(x => !((x.BO1.I1 + x.BO1.I2) + x.BO1.I2 != null || (x.BO1.I1 + x.BO1.I2) + x.BO1.I2 != null),
+ Setters<TBO1_I, TBO1_I>(MyBO.SetBO1_I1, MyBO.SetBO1_I2));
+ }
+
+
+ [Test]
+ public void TestNestedPlusBehindOrNav2()
+ {
+ RunTest(x => (x.BO1.I1 + x.BO1.I2) + x.BO1.I2 == null || (x.BO2.J1 + x.BO2.J2) + x.BO2.J2 == null,
+ Setters<TBO1_I, TBO1_I, TBO2_J, TBO2_J>(MyBO.SetBO1_I1, MyBO.SetBO1_I2, MyBO.SetBO2_J1, MyBO.SetBO2_J2));
+ }
+ [Test]
+ public void TestNestedPlusBehindNotOrNav2()
+ {
+ RunTest(x => !((x.BO1.I1 + x.BO1.I2) + x.BO1.I2 == null || (x.BO2.J1 + x.BO2.J2) + x.BO2.J2 == null),
+ Setters<TBO1_I, TBO1_I, TBO2_J, TBO2_J>(MyBO.SetBO1_I1, MyBO.SetBO1_I2, MyBO.SetBO2_J1, MyBO.SetBO2_J2));
+ }
+ [Test]
+ public void TestNestedPlusBehindNotAndNav2()
+ {
+ RunTest(x => !((x.BO1.I1 + x.BO1.I2) + x.BO1.I2 == null && (x.BO2.J1 + x.BO2.J2) + x.BO2.J2 == null),
+ Setters<TBO1_I, TBO1_I, TBO2_J, TBO2_J>(MyBO.SetBO1_I1, MyBO.SetBO1_I2, MyBO.SetBO2_J1, MyBO.SetBO2_J2));
+ }
+
+ [Test]
+ public void TestNestedPlusBehindOrNav3()
+ {
+ RunTest(x => (x.BO1.I1 + x.BO1.I2) + x.BO2.J2 == null || (x.BO2.J1 + x.BO2.J2) + x.BO1.I2 == null,
+ Setters<TBO1_I, TBO2_J, TBO2_J, TBO1_I>(MyBO.SetBO1_I1, MyBO.SetBO2_J2, MyBO.SetBO2_J1, MyBO.SetBO1_I2));
+ }
+ [Test]
+ public void TestNestedPlusBehindNotOrNav3()
+ {
+ RunTest(x => !((x.BO1.I1 + x.BO1.I2) + x.BO2.J2 == null || (x.BO2.J1 + x.BO2.J2) + x.BO1.I2 == null),
+ Setters<TBO1_I, TBO2_J, TBO2_J, TBO1_I>(MyBO.SetBO1_I1, MyBO.SetBO2_J2, MyBO.SetBO2_J1, MyBO.SetBO1_I2));
+ }
+ [Test]
+ public void TestNestedPlusBehindNotAndNav3()
+ {
+ RunTest(x => !((x.BO1.I1 + x.BO1.I2) + x.BO2.J2 == null && (x.BO2.J1 + x.BO2.J2) + x.BO1.I2 == null),
+ Setters<TBO1_I, TBO2_J, TBO2_J, TBO1_I>(MyBO.SetBO1_I1, MyBO.SetBO2_J2, MyBO.SetBO2_J1, MyBO.SetBO1_I2));
+ }
+ }
+}
Modified: trunk/nhibernate/src/NHibernate.Test/NHSpecificTest/NH2583/MassTestingNotAndDeMorganFixture.cs
===================================================================
--- trunk/nhibernate/src/NHibernate.Test/NHSpecificTest/NH2583/MassTestingNotAndDeMorganFixture.cs 2011-04-25 05:55:52 UTC (rev 5757)
+++ trunk/nhibernate/src/NHibernate.Test/NHSpecificTest/NH2583/MassTestingNotAndDeMorganFixture.cs 2011-04-25 05:57:46 UTC (rev 5758)
@@ -1,91 +1,126 @@
-using System;
-using System.Collections.Generic;
-using System.Linq;
-using System.Linq.Expressions;
-using NHibernate.Linq;
-using NUnit.Framework;
-
-namespace NHibernate.Test.NHSpecificTest.NH2583
-{
- public class MassTestingNotAndDeMorganFixture : AbstractMassTestingFixture
- {
- protected override int TestAndAssert(Expression<Func<MyBO, bool>> condition, ISession session, IEnumerable<int> expectedIds)
- {
- var result = session.Query<MyBO>().Where(condition);
- AreEqual(expectedIds, result.Select(bo => bo.Id).ToArray());
- return expectedIds.Count();
- }
-
- [Test]
- public void Test_NotUnequalIsTheSameAsEqual()
- {
- int r1 = RunTest(x => !(x.BO1.I1 != 1),
- Setters<TBO1_I>(MyBO.SetBO1_I1));
- int r2 = RunTest(x => x.BO1.I1 == 1,
- Setters<TBO1_I>(MyBO.SetBO1_I1));
- Assert.AreEqual(r1, r2);
- Assert.Greater(r1, 0);
-
- r1 = RunTest(x => !(x.BO1.I1 != 1),
- Setters<TBO1_I, TBO2_J>(MyBO.SetBO1_I1, MyBO.SetBO2_J1));
- r2 = RunTest(x => x.BO1.I1 == 1,
- Setters<TBO1_I, TBO2_J>(MyBO.SetBO1_I1, MyBO.SetBO2_J1));
- Assert.AreEqual(r1, r2);
- Assert.Greater(r1, 0);
- }
-
- [Test]
- public void Test_NotEqualIsTheSameAsNotequal()
- {
- int r1 = RunTest(x => !(x.BO1.I1 == 1),
- Setters<TBO1_I>(MyBO.SetBO1_I1));
- // ... is the same as ...
- int r2 = RunTest(x => x.BO1.I1 != 1,
- Setters<TBO1_I>(MyBO.SetBO1_I1));
- Assert.AreEqual(r1, r2);
- Assert.Greater(r1, 0);
- }
-
- [Test]
- public void Test_DeMorganNotAnd()
- {
- // BO1.I1 BO2.J1 x.BO1.I1 != 1 x.BO2.J1 != 1 && ! Result (3v-->2v) Linq2Obj
- // null null n n n n f
- // null 0 n t n n f
- // null 1 n f f t t
- // 0 null t n n n f
- // 0 0 t t t f f f
- // 0 1 t f f t t t
- // 1 null f n f t t
- // 1 0 f t f t t t
- // 1 1 f f f t t t
-
- RunTest(x => !(x.BO1.I1 != 1 && x.BO2.J1 != 1),
- Setters<TBO1_I, TBO2_J>(MyBO.SetBO1_I1, MyBO.SetBO2_J1));
- }
-
- [Test]
- public void Test_DeMorganNotOr()
- {
- int r1 = RunTest(x => !(x.BO1.I1 != 1 || x.BO2.J1 != 1),
- Setters<TBO1_I, TBO2_J>(MyBO.SetBO1_I1, MyBO.SetBO2_J1));
- int r2 = RunTest(x => !(x.BO1.I1 != 1) && !(x.BO2.J1 != 1),
- Setters<TBO1_I, TBO2_J>(MyBO.SetBO1_I1, MyBO.SetBO2_J1));
- int r3 = RunTest(x => x.BO1.I1 == 1 && x.BO2.J1 == 1,
- Setters<TBO1_I, TBO2_J>(MyBO.SetBO1_I1, MyBO.SetBO2_J1));
- Assert.AreEqual(r1, r2);
- Assert.AreEqual(r2, r3);
- Assert.Greater(r1, 0);
- }
-
- [Test]
- public void Test_NotNotCanBeEliminated()
- {
- int r1 = RunTest(x => !(!(x.BO1.I1 != 1 && x.BO2.J1 != 1)),
- Setters<TBO1_I, TBO2_J>(MyBO.SetBO1_I1, MyBO.SetBO2_J1));
- int r2 = RunTest(x => x.BO1.I1 != 1 && x.BO2.J1 != 1,
- Setters<TBO1_I, TBO2_J>(MyBO.SetBO1_I1, MyBO.SetBO2_J1));
- Assert.AreEqual(r1, r2);
- }
- }
-}
+using System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Linq.Expressions;
+using NHibernate.Linq;
+using NUnit.Framework;
+
+namespace NHibernate.Test.NHSpecificTest.NH2583
+{
+ public class MassTestingNotAndDeMorganFixture : AbstractMassTestingFixture
+ {
+ protected override int TestAndAssert(Expression<Func<MyBO, bool>> condition, ISession session, IEnumerable<int> expectedIds)
+ {
+ var result = session.Query<MyBO>().Where(condition);
+ AreEqual(expectedIds, result.Select(bo => bo.Id).ToArray());
+ return expectedIds.Count();
+ }
+
+ [Test]
+ public void Test_NotUnequalIsTheSameAsEqual()
+ {
+ int r1 = RunTest(x => !(x.BO1.I1 != 1),
+ Setters<TBO1_I>(MyBO.SetBO1_I1));
+ int r2 = RunTest(x => x.BO1.I1 == 1,
+ Setters<TBO1_I>(MyBO.SetBO1_I1));
+ Assert.AreEqual(r1, r2);
+ Assert.Greater(r1, 0);
+
+ r1 = RunTest(x => !(x.BO1.I1 != 1),
+ Setters<TBO1_I, TBO2_J>(MyBO.SetBO1_I1, MyBO.SetBO2_J1));
+ r2 = RunTest(x => x.BO1.I1 == 1,
+ Setters<TBO1_I, TBO2_J>(MyBO.SetBO1_I1, MyBO.SetBO2_J1));
+ Assert.AreEqual(r1, r2);
+ Assert.Greater(r1, 0);
+ }
+
+ [Test]
+ public void Test_NotEqualIsTheSameAsNotequal()
+ {
+ // Already the following yields different results for I1 == null even though
+ // it does NOT throw an exception in Linq2Objects:
+ // ... RunTest(x => x.BO1.I1 != 1, ...);
+ // * In C# logic, we get null != 1 <=> true
+ // * In SQL logic, we get null != 1 <=> logical-null => false
+
+ // To exclude this case, we can either make it false in C# ...
+ int r1 = RunTest(x => x.BO1.I1 != null && x.BO1.I1 != 1,
+ Setters<TBO1_I>(MyBO.SetBO1_I1));
+ // ... or force it to true in SQL
+ int r2 = RunTest(x => x.BO1.I1 == null || x.BO1.I1 != 1,
+ Setters<TBO1_I>(MyBO.SetBO1_I1));
+
+ // Also the following condition yields different results for I1 == null even
+ // though it does NOT throw an exception in Linq2Objects:
+ // ... RunTest(x => !(x.BO1.I1 == 1), ...);
+ // * In C# logic, we get !(null == 1) <=> !(false) <=> true
+ // * In SQL logic, we get !(null == 1) <=> !(logical-null) <=> logical-null => false
+
+ // Again, to exclude this case, we can either make the inner part true in C# ...
+ int r3 = RunTest(x => !(x.BO1.I1 == null || x.BO1.I1 == 1),
+ Setters<TBO1_I>(MyBO.SetBO1_I1));
+ // ... or force it to false in SQL:
+ int r4 = RunTest(x => !(x.BO1.I1 != null && x.BO1.I1 == 1),
+ Setters<TBO1_I>(MyBO.SetBO1_I1...
[truncated message content] |
|
From: <fab...@us...> - 2011-04-28 12:44:04
|
Revision: 5785
http://nhibernate.svn.sourceforge.net/nhibernate/?rev=5785&view=rev
Author: fabiomaulo
Date: 2011-04-28 12:43:58 +0000 (Thu, 28 Apr 2011)
Log Message:
-----------
Ported some tests
Modified Paths:
--------------
trunk/nhibernate/src/NHibernate.Test/NHibernate.Test.csproj
Added Paths:
-----------
trunk/nhibernate/src/NHibernate.Test/MappingByCode/TypeExtensionsTests/
trunk/nhibernate/src/NHibernate.Test/MappingByCode/TypeExtensionsTests/CompatibilityWithCandidatePersistentMembers.cs
trunk/nhibernate/src/NHibernate.Test/MappingByCode/TypeExtensionsTests/GetFirstImplementorConcreteClassesTest.cs
trunk/nhibernate/src/NHibernate.Test/MappingByCode/TypeExtensionsTests/GetFirstImplementorTest.cs
trunk/nhibernate/src/NHibernate.Test/MappingByCode/TypeExtensionsTests/GetMemberFromInterfacesTest.cs
trunk/nhibernate/src/NHibernate.Test/MappingByCode/TypeExtensionsTests/TypeExtensionsTest.cs
Added: trunk/nhibernate/src/NHibernate.Test/MappingByCode/TypeExtensionsTests/CompatibilityWithCandidatePersistentMembers.cs
===================================================================
--- trunk/nhibernate/src/NHibernate.Test/MappingByCode/TypeExtensionsTests/CompatibilityWithCandidatePersistentMembers.cs (rev 0)
+++ trunk/nhibernate/src/NHibernate.Test/MappingByCode/TypeExtensionsTests/CompatibilityWithCandidatePersistentMembers.cs 2011-04-28 12:43:58 UTC (rev 5785)
@@ -0,0 +1,30 @@
+using System.Collections.Generic;
+using System.Linq;
+using NHibernate.Mapping.ByCode;
+using NHibernate.Mapping.ByCode.Impl;
+using NUnit.Framework;
+using SharpTestsEx;
+
+namespace NHibernate.Test.MappingByCode.TypeExtensionsTests
+{
+ public class CompatibilityWithCandidatePersistentMembers
+ {
+ public abstract class Geo
+ {
+ public string Descrition { get; set; }
+ protected Geo Parent { get; set; }
+ protected ICollection<Geo> Elements { get; set; }
+ }
+
+ [Test]
+ public void GetFirstPropertyOfTypeShouldUseSameConceptsOfCandidatePersistentMembersProvider()
+ {
+ var memberProvider = new DefaultCandidatePersistentMembersProvider();
+ var properties = memberProvider.GetRootEntityMembers(typeof(Geo));
+ if(properties.Select(p => p.Name).Contains("Parent"))
+ {
+ typeof(Geo).GetFirstPropertyOfType(typeof(Geo)).Should().Not.Be.Null();
+ }
+ }
+ }
+}
\ No newline at end of file
Added: trunk/nhibernate/src/NHibernate.Test/MappingByCode/TypeExtensionsTests/GetFirstImplementorConcreteClassesTest.cs
===================================================================
--- trunk/nhibernate/src/NHibernate.Test/MappingByCode/TypeExtensionsTests/GetFirstImplementorConcreteClassesTest.cs (rev 0)
+++ trunk/nhibernate/src/NHibernate.Test/MappingByCode/TypeExtensionsTests/GetFirstImplementorConcreteClassesTest.cs 2011-04-28 12:43:58 UTC (rev 5785)
@@ -0,0 +1,53 @@
+using NHibernate.Mapping.ByCode;
+using NUnit.Framework;
+using SharpTestsEx;
+
+namespace NHibernate.Test.MappingByCode.TypeExtensionsTests
+{
+ public class GetFirstImplementorConcreteClassesTest
+ {
+ private class MyClass1
+ {
+
+ }
+ private class MyClass2 : MyClass1
+ {
+
+ }
+ private class MyClass3 : MyClass2
+ {
+
+ }
+ private class MyClass4 : MyClass3
+ {
+
+ }
+
+ [Test]
+ public void WhenImplIsAtSameLevelThenReturnImplementor()
+ {
+ typeof(MyClass1).GetFirstImplementorOf(typeof(MyClass1)).Should().Be(typeof(MyClass1));
+ typeof(MyClass2).GetFirstImplementorOf(typeof(MyClass2)).Should().Be(typeof(MyClass2));
+ typeof(MyClass3).GetFirstImplementorOf(typeof(MyClass3)).Should().Be(typeof(MyClass3));
+ typeof(MyClass4).GetFirstImplementorOf(typeof(MyClass4)).Should().Be(typeof(MyClass4));
+ }
+
+ [Test]
+ public void WhenImplIsAtDifferentLevelThenReturnImplementor()
+ {
+ typeof(MyClass2).GetFirstImplementorOf(typeof(MyClass1)).Should().Be(typeof(MyClass2));
+ typeof(MyClass3).GetFirstImplementorOf(typeof(MyClass1)).Should().Be(typeof(MyClass2));
+ typeof(MyClass3).GetFirstImplementorOf(typeof(MyClass2)).Should().Be(typeof(MyClass3));
+ typeof(MyClass4).GetFirstImplementorOf(typeof(MyClass1)).Should().Be(typeof(MyClass2));
+ typeof(MyClass4).GetFirstImplementorOf(typeof(MyClass2)).Should().Be(typeof(MyClass3));
+ typeof(MyClass4).GetFirstImplementorOf(typeof(MyClass3)).Should().Be(typeof(MyClass4));
+ }
+
+ [Test]
+ public void WhenImplIsAtUpLevelThenReturnNull()
+ {
+ typeof(MyClass2).GetFirstImplementorOf(typeof(MyClass3)).Should().Be.Null();
+ typeof(MyClass3).GetFirstImplementorOf(typeof(MyClass4)).Should().Be.Null();
+ }
+ }
+}
\ No newline at end of file
Added: trunk/nhibernate/src/NHibernate.Test/MappingByCode/TypeExtensionsTests/GetFirstImplementorTest.cs
===================================================================
--- trunk/nhibernate/src/NHibernate.Test/MappingByCode/TypeExtensionsTests/GetFirstImplementorTest.cs (rev 0)
+++ trunk/nhibernate/src/NHibernate.Test/MappingByCode/TypeExtensionsTests/GetFirstImplementorTest.cs 2011-04-28 12:43:58 UTC (rev 5785)
@@ -0,0 +1,78 @@
+using System;
+using NHibernate.Mapping.ByCode;
+using NUnit.Framework;
+using SharpTestsEx;
+
+namespace NHibernate.Test.MappingByCode.TypeExtensionsTests
+{
+ public class GetFirstImplementorTest
+ {
+ private interface IInterfaceNoImpl
+ {
+
+ }
+ private interface IInterface1
+ {
+
+ }
+ private interface IInterface2
+ {
+
+ }
+ private interface IInterface3
+ {
+
+ }
+ private class MyClassNoInterface
+ {
+
+ }
+ private class MyClass1: IInterface1
+ {
+
+ }
+ private class MyClass2: MyClass1, IInterface2
+ {
+
+ }
+ private class MyClass3 : MyClass2, IInterface3
+ {
+
+ }
+
+ [Test]
+ public void WhenInvalidThenThrows()
+ {
+ Executing.This(()=>((System.Type) null).GetFirstImplementorOf(typeof(IInterfaceNoImpl))).Should().Throw<ArgumentNullException>();
+ Executing.This(() => typeof(IInterfaceNoImpl).GetFirstImplementorOf(null)).Should().Throw<ArgumentNullException>();
+ }
+
+ [Test]
+ public void WhenIsInterfaceThenNoImplementor()
+ {
+ typeof(IInterfaceNoImpl).GetFirstImplementorOf(typeof(IInterfaceNoImpl)).Should().Be.Null();
+ }
+
+ [Test]
+ public void WhenImplAsNoInterfaceThenNoImplementor()
+ {
+ typeof(MyClassNoInterface).GetFirstImplementorOf(typeof(IInterfaceNoImpl)).Should().Be.Null();
+ }
+
+ [Test]
+ public void WhenImplIsAtSameLevelThenReturnImplementor()
+ {
+ typeof(MyClass1).GetFirstImplementorOf(typeof(IInterface1)).Should().Be(typeof(MyClass1));
+ typeof(MyClass2).GetFirstImplementorOf(typeof(IInterface2)).Should().Be(typeof(MyClass2));
+ typeof(MyClass3).GetFirstImplementorOf(typeof(IInterface3)).Should().Be(typeof(MyClass3));
+ }
+
+ [Test]
+ public void WhenImplIsAtDifferentLevelThenReturnImplementor()
+ {
+ typeof(MyClass2).GetFirstImplementorOf(typeof(IInterface1)).Should().Be(typeof(MyClass1));
+ typeof(MyClass3).GetFirstImplementorOf(typeof(IInterface2)).Should().Be(typeof(MyClass2));
+ typeof(MyClass3).GetFirstImplementorOf(typeof(IInterface1)).Should().Be(typeof(MyClass1));
+ }
+ }
+}
\ No newline at end of file
Added: trunk/nhibernate/src/NHibernate.Test/MappingByCode/TypeExtensionsTests/GetMemberFromInterfacesTest.cs
===================================================================
--- trunk/nhibernate/src/NHibernate.Test/MappingByCode/TypeExtensionsTests/GetMemberFromInterfacesTest.cs (rev 0)
+++ trunk/nhibernate/src/NHibernate.Test/MappingByCode/TypeExtensionsTests/GetMemberFromInterfacesTest.cs 2011-04-28 12:43:58 UTC (rev 5785)
@@ -0,0 +1,82 @@
+using System;
+using System.Linq;
+using System.Reflection;
+using NHibernate.Mapping.ByCode;
+using NUnit.Framework;
+using SharpTestsEx;
+
+namespace NHibernate.Test.MappingByCode.TypeExtensionsTests
+{
+ public class GetMemberFromInterfacesTest
+ {
+ private class BaseEntity
+ {
+ public int Id { get; set; }
+ }
+
+ private interface IEntity
+ {
+ bool IsValid { get; }
+ string Something { get; set; }
+ }
+
+ private interface IHasSomething
+ {
+ string Something { get; set; }
+ }
+
+ private class Person : BaseEntity, IEntity, IHasSomething
+ {
+ private int someField;
+ public string Name { get; set; }
+ public bool IsValid { get { return false; } }
+ public string Something { get; set; }
+ }
+
+ private interface IInheritedHasSomething : IHasSomething
+ {
+ string Blah { get; set; }
+ }
+
+
+ [Test]
+ public void WhenNullArgumentThenThrows()
+ {
+ Executing.This(() => ((MemberInfo)null).GetPropertyFromInterfaces().ToList()).Should().Throw<ArgumentNullException>();
+ }
+
+ [Test]
+ public void WhenNoInterfaceThenEmptyList()
+ {
+ For<BaseEntity>.Property(x=> x.Id).GetPropertyFromInterfaces().Should().Be.Empty();
+ }
+
+ [Test]
+ public void WhenFieldThenEmptyList()
+ {
+ ForClass<Person>.Field("someField").GetPropertyFromInterfaces().Should().Be.Empty();
+ }
+
+ [Test]
+ public void WhenOneInterfaceThenReturnMemberInfoOfInterface()
+ {
+ var members = For<Person>.Property(x => x.IsValid).GetPropertyFromInterfaces();
+ members.Single().Should().Be(For<IEntity>.Property(x=> x.IsValid));
+ }
+
+ [Test]
+ public void WhenTwoInterfacesThenReturnMemberInfoOfEachInterface()
+ {
+ var members = For<Person>.Property(x => x.Something).GetPropertyFromInterfaces();
+ members.Should().Contain(For<IEntity>.Property(x => x.Something));
+ members.Should().Contain(For<IHasSomething>.Property(x => x.Something));
+ }
+
+ [Test]
+ public void WhenPropertyOfInterfaceThenNotThrows()
+ {
+ var member = For<IInheritedHasSomething>.Property(x => x.Blah);
+ member.Executing(x=> x.GetPropertyFromInterfaces().Any()).NotThrows();
+ }
+ }
+}
\ No newline at end of file
Added: trunk/nhibernate/src/NHibernate.Test/MappingByCode/TypeExtensionsTests/TypeExtensionsTest.cs
===================================================================
--- trunk/nhibernate/src/NHibernate.Test/MappingByCode/TypeExtensionsTests/TypeExtensionsTest.cs (rev 0)
+++ trunk/nhibernate/src/NHibernate.Test/MappingByCode/TypeExtensionsTests/TypeExtensionsTest.cs 2011-04-28 12:43:58 UTC (rev 5785)
@@ -0,0 +1,207 @@
+using System;
+using System.Collections;
+using System.Collections.Generic;
+using System.Collections.ObjectModel;
+using System.Reflection;
+using NHibernate.Mapping.ByCode;
+using NUnit.Framework;
+using SharpTestsEx;
+
+namespace NHibernate.Test.MappingByCode.TypeExtensionsTests
+{
+ public class TypeExtensionsTest
+ {
+ private const BindingFlags BindingFlagsIncludePrivate = BindingFlags.Instance | BindingFlags.NonPublic | BindingFlags.Public;
+
+ [Test]
+ public void CanDetermineDictionaryKeyType()
+ {
+ typeof (IDictionary<string, int>).DetermineDictionaryKeyType().Should().Be.EqualTo<string>();
+ }
+
+ [Test]
+ public void WhenNoGenericDictionaryThenDetermineNullDictionaryKeyType()
+ {
+ typeof(IEnumerable<string>).DetermineDictionaryKeyType().Should().Be.Null();
+ }
+
+ [Test]
+ public void CanDetermineDictionaryValueType()
+ {
+ typeof(IDictionary<string, int>).DetermineDictionaryValueType().Should().Be.EqualTo<int>();
+ }
+
+ [Test]
+ public void WhenNoGenericDictionaryThenDetermineNullDictionaryValueType()
+ {
+ typeof(IEnumerable<string>).DetermineDictionaryValueType().Should().Be.Null();
+ }
+
+ private class MyBaseClass
+ {
+ public string BaseProperty { get; set; }
+ public bool BaseBool { get; set; }
+ private double SomethingPrivate { get; set; }
+ }
+ private class MyClass : MyBaseClass
+ {
+
+ }
+
+ [Test]
+ public void DecodeMemberAccessExpressionShouldReturnMemberOfDeclaringClass()
+ {
+ Mapping.ByCode.TypeExtensions.DecodeMemberAccessExpression<MyClass>(mc => mc.BaseProperty).Satisfy(
+ mi => mi.ReflectedType == typeof(MyBaseClass) && mi.DeclaringType == typeof(MyBaseClass));
+ Mapping.ByCode.TypeExtensions.DecodeMemberAccessExpression<MyClass>(mc => mc.BaseBool).Satisfy(
+ mi => mi.ReflectedType == typeof(MyBaseClass) && mi.DeclaringType == typeof(MyBaseClass));
+ }
+
+ [Test]
+ public void GenericDecodeMemberAccessExpressionShouldReturnMemberOfDeclaringClass()
+ {
+ Mapping.ByCode.TypeExtensions.DecodeMemberAccessExpression<MyClass, string>(mc => mc.BaseProperty).Satisfy(
+ mi => mi.ReflectedType == typeof(MyBaseClass) && mi.DeclaringType == typeof(MyBaseClass));
+ Mapping.ByCode.TypeExtensions.DecodeMemberAccessExpression<MyClass, bool>(mc => mc.BaseBool).Satisfy(
+ mi => mi.ReflectedType == typeof(MyBaseClass) && mi.DeclaringType == typeof(MyBaseClass));
+ }
+
+ [Test]
+ public void DecodeMemberAccessExpressionOfShouldReturnMemberOfRequiredClass()
+ {
+ Mapping.ByCode.TypeExtensions.DecodeMemberAccessExpressionOf<MyClass>(mc => mc.BaseProperty).Satisfy(
+ mi => mi.ReflectedType == typeof (MyClass) && mi.DeclaringType == typeof (MyBaseClass));
+ Mapping.ByCode.TypeExtensions.DecodeMemberAccessExpressionOf<MyClass>(mc => mc.BaseBool).Satisfy(
+ mi => mi.ReflectedType == typeof(MyClass) && mi.DeclaringType == typeof(MyBaseClass));
+ }
+
+ [Test]
+ public void GenericDecodeMemberAccessExpressionOfShouldReturnMemberOfRequiredClass()
+ {
+ Mapping.ByCode.TypeExtensions.DecodeMemberAccessExpressionOf<MyClass, string>(mc => mc.BaseProperty).Satisfy(
+ mi => mi.ReflectedType == typeof(MyClass) && mi.DeclaringType == typeof(MyBaseClass));
+ Mapping.ByCode.TypeExtensions.DecodeMemberAccessExpressionOf<MyClass, bool>(mc => mc.BaseBool).Satisfy(
+ mi => mi.ReflectedType == typeof(MyClass) && mi.DeclaringType == typeof(MyBaseClass));
+ }
+
+ [Test]
+ public void GetBaseTypesIncludesInterfaces()
+ {
+ typeof (Collection<>).GetBaseTypes().Should().Contain(typeof (IEnumerable));
+ }
+
+ private interface IEntity<T>
+ {
+ T Id { get; set; }
+ }
+ private abstract class AbstractEntity<T> : IEntity<T>
+ {
+ public abstract T Id { get; set; }
+ public abstract bool BaseBool { get; set; }
+ }
+
+ private class BaseEntity : AbstractEntity<int>
+ {
+ public override int Id { get; set; }
+
+ public override bool BaseBool { get; set; }
+ }
+ private class MyEntity: BaseEntity
+ {
+ }
+
+ [Test]
+ public void DecodeMemberAccessExpressionOfWithGenericShouldReturnMemberOfRequiredClass()
+ {
+ Mapping.ByCode.TypeExtensions.DecodeMemberAccessExpressionOf<MyEntity>(mc => mc.Id).Satisfy(
+ mi => mi.ReflectedType == typeof(MyEntity) && mi.DeclaringType == typeof(BaseEntity));
+ Mapping.ByCode.TypeExtensions.DecodeMemberAccessExpressionOf<MyEntity>(mc => mc.BaseBool).Satisfy(
+ mi => mi.ReflectedType == typeof(MyEntity) && mi.DeclaringType == typeof(BaseEntity));
+ }
+
+ [Test]
+ public void WhenBaseIsAbstractGenericGetMemberFromDeclaringType()
+ {
+ var mi = typeof(MyEntity).GetProperty("Id", typeof(int));
+ var declaringMi = mi.GetMemberFromDeclaringType();
+ declaringMi.DeclaringType.Should().Be<BaseEntity>();
+ declaringMi.ReflectedType.Should().Be<BaseEntity>();
+ }
+
+ [Test]
+ public void WhenBaseIsAbstractGetMemberFromDeclaringType()
+ {
+ var mi = typeof(MyEntity).GetProperty("BaseBool", typeof(bool));
+ var declaringMi = mi.GetMemberFromDeclaringType();
+ declaringMi.DeclaringType.Should().Be<BaseEntity>();
+ declaringMi.ReflectedType.Should().Be<BaseEntity>();
+ }
+
+ [Test]
+ public void GetFirstPropertyOfTypeWithNulls()
+ {
+ System.Type myType = null;
+ myType.GetFirstPropertyOfType(typeof (int), BindingFlagsIncludePrivate).Should().Be.Null();
+ myType = typeof (Array);
+ myType.GetFirstPropertyOfType(null, BindingFlagsIncludePrivate).Should().Be.Null();
+ }
+
+ [Test]
+ public void GetFirstPropertyOfType_WhenPropertyExistThenFindProperty()
+ {
+ typeof (MyBaseClass).GetFirstPropertyOfType(typeof (string)).Should().Be(
+ typeof (MyBaseClass).GetProperty("BaseProperty"));
+ typeof (MyBaseClass).GetFirstPropertyOfType(typeof (bool)).Should().Be(typeof (MyBaseClass).GetProperty("BaseBool"));
+ typeof (MyBaseClass).GetFirstPropertyOfType(typeof (double), BindingFlagsIncludePrivate).Should().Be(
+ typeof (MyBaseClass).GetProperty("SomethingPrivate", BindingFlagsIncludePrivate));
+ }
+
+ [Test]
+ public void GetFirstPropertyOfType_WhenPropertyNotExistThenNull()
+ {
+ typeof (MyBaseClass).GetFirstPropertyOfType(typeof (float)).Should().Be.Null();
+ // typeof (MyBaseClass).GetFirstPropertyOfType(typeof (double)).Should().Be.Null(); <= by default check private prop.
+ }
+
+ private interface IMyEntity : IEntity<Guid>
+ {
+
+ }
+
+ [Test]
+ public void WhenDecodeMemberAccessExpressionOfOnInheritedEntityInterfaceThenDecodeMember()
+ {
+ Mapping.ByCode.TypeExtensions.DecodeMemberAccessExpressionOf<IMyEntity>(m => m.Id).Should().Not.Be.Null();
+ Mapping.ByCode.TypeExtensions.DecodeMemberAccessExpressionOf<IMyEntity, Guid>(m => m.Id).Should().Not.Be.Null();
+ }
+
+ [Test]
+ public void TheSequenceOfGetHierarchyFromBaseShouldStartFromBaseClassUpToGivenClass()
+ {
+ // excluding System.Object
+ typeof(MyEntity).GetHierarchyFromBase().Should().Have.SameSequenceAs(typeof(AbstractEntity<int>), typeof(BaseEntity), typeof(MyEntity));
+ }
+
+ [Test]
+ public void GetFirstPropertyOfType_WhenDelegateIsNullThenThrow()
+ {
+ var myType = typeof(Array);
+ Executing.This(()=> myType.GetFirstPropertyOfType(typeof(int), BindingFlagsIncludePrivate, null)).Should().Throw<ArgumentNullException>();
+ }
+
+ [Test]
+ public void GetFirstPropertyOfType_WhenAsDelegateThenUseDelegateToFilterProperties()
+ {
+ typeof (MyBaseClass).GetFirstPropertyOfType(typeof (string), BindingFlags.Public | BindingFlags.Instance, x => false).Should().Be.Null();
+ typeof (MyBaseClass).GetFirstPropertyOfType(typeof (string), BindingFlags.Public | BindingFlags.Instance, x => true).Should().Be(
+ typeof (MyBaseClass).GetProperty("BaseProperty"));
+ }
+
+ [Test]
+ public void HasPublicPropertyOf_WhenAsDelegateThenUseDelegateToFilterProperties()
+ {
+ typeof(MyBaseClass).HasPublicPropertyOf(typeof(string), x => false).Should().Be.False();
+ typeof(MyBaseClass).HasPublicPropertyOf(typeof(string), x => true).Should().Be.True();
+ }
+ }
+}
\ No newline at end of file
Modified: trunk/nhibernate/src/NHibernate.Test/NHibernate.Test.csproj
===================================================================
--- trunk/nhibernate/src/NHibernate.Test/NHibernate.Test.csproj 2011-04-28 10:36:52 UTC (rev 5784)
+++ trunk/nhibernate/src/NHibernate.Test/NHibernate.Test.csproj 2011-04-28 12:43:58 UTC (rev 5785)
@@ -608,6 +608,11 @@
<Compile Include="MappingByCode\NatureDemo\Naturalness\StateProvince.cs" />
<Compile Include="MappingByCode\NatureDemo\Naturalness\User.cs" />
<Compile Include="MappingByCode\NatureDemo\Naturalness\Zoo.cs" />
+ <Compile Include="MappingByCode\TypeExtensionsTests\CompatibilityWithCandidatePersistentMembers.cs" />
+ <Compile Include="MappingByCode\TypeExtensionsTests\GetFirstImplementorConcreteClassesTest.cs" />
+ <Compile Include="MappingByCode\TypeExtensionsTests\GetFirstImplementorTest.cs" />
+ <Compile Include="MappingByCode\TypeExtensionsTests\GetMemberFromInterfacesTest.cs" />
+ <Compile Include="MappingByCode\TypeExtensionsTests\TypeExtensionsTest.cs" />
<Compile Include="MappingByCode\TypeNameUtilTests.cs" />
<Compile Include="NHSpecificTest\AccessAndCorrectPropertyName\Fixture.cs" />
<Compile Include="NHSpecificTest\AccessAndCorrectPropertyName\Model.cs" />
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|
|
From: <fab...@us...> - 2011-05-03 11:21:00
|
Revision: 5796
http://nhibernate.svn.sourceforge.net/nhibernate/?rev=5796&view=rev
Author: fabiomaulo
Date: 2011-05-03 11:20:54 +0000 (Tue, 03 May 2011)
Log Message:
-----------
Demonstration NH-2587 was fixed
Modified Paths:
--------------
trunk/nhibernate/src/NHibernate.Test/NHibernate.Test.csproj
Added Paths:
-----------
trunk/nhibernate/src/NHibernate.Test/NHSpecificTest/NH2587/
trunk/nhibernate/src/NHibernate.Test/NHSpecificTest/NH2587/CachingWithLinq.cs
Added: trunk/nhibernate/src/NHibernate.Test/NHSpecificTest/NH2587/CachingWithLinq.cs
===================================================================
--- trunk/nhibernate/src/NHibernate.Test/NHSpecificTest/NH2587/CachingWithLinq.cs (rev 0)
+++ trunk/nhibernate/src/NHibernate.Test/NHSpecificTest/NH2587/CachingWithLinq.cs 2011-05-03 11:20:54 UTC (rev 5796)
@@ -0,0 +1,117 @@
+using System;
+using System.Collections.Generic;
+using System.Linq;
+using NHibernate.Cache;
+using NHibernate.Cfg;
+using NHibernate.Cfg.MappingSchema;
+using NHibernate.Linq;
+using NHibernate.Mapping.ByCode;
+using NUnit.Framework;
+
+namespace NHibernate.Test.NHSpecificTest.NH2587
+{
+ public class Foo
+ {
+ public Foo()
+ {
+ Bars = new List<Bar>();
+ }
+ public virtual Guid Id { get; set; }
+ public virtual ICollection<Bar> Bars { get; set; }
+ }
+
+ public class Bar
+ {
+ public virtual Guid Id { get; set; }
+ public virtual Foo Foo { get; set; }
+ }
+
+ public class CachingWithLinq : TestCaseMappingByCode
+ {
+ protected override HbmMapping GetMappings()
+ {
+ var mapper = new ModelMapper();
+ mapper.BeforeMapClass += (inspector, type, map) => map.Id(x=> x.Generator(Generators.GuidComb));
+ mapper.Class<Foo>(mc =>
+ {
+ mc.Id(x => x.Id);
+ mc.Bag(x => x.Bars, map =>
+ {
+ map.Inverse(true);
+ map.Cascade(Mapping.ByCode.Cascade.All);
+ map.Key(km =>
+ {
+ km.Column("FooId");
+ km.OnDelete(OnDeleteAction.Cascade);
+ });
+ }, rel => rel.OneToMany());
+ });
+ mapper.Class<Bar>(mc =>
+ {
+ mc.Id(x => x.Id);
+ mc.ManyToOne(x=> x.Foo, map=> map.Column("FooId"));
+ });
+ var mappings = mapper.CompileMappingForAllExplicitAddedEntities();
+ return mappings;
+ }
+
+ protected override void Configure(Cfg.Configuration configuration)
+ {
+ configuration.Cache(x =>
+ {
+ x.Provider<HashtableCacheProvider>();
+ x.UseQueryCache = true;
+ });
+ }
+
+ public class Scenario: IDisposable
+ {
+ private readonly ISessionFactory factory;
+
+ public Scenario(ISessionFactory factory)
+ {
+ this.factory = factory;
+ using (ISession session = factory.OpenSession())
+ using (ITransaction tx = session.BeginTransaction())
+ {
+ var foo1 = new Foo();
+ foo1.Bars.Add(new Bar {Foo = foo1});
+ foo1.Bars.Add(new Bar { Foo = foo1 });
+ var foo2 = new Foo();
+ foo2.Bars.Add(new Bar { Foo = foo2 });
+
+ session.Persist(foo1);
+ session.Persist(foo2);
+ tx.Commit();
+ }
+ }
+
+ public void Dispose()
+ {
+ using (ISession session = factory.OpenSession())
+ using (ITransaction tx = session.BeginTransaction())
+ {
+ session.CreateQuery("delete from Foo").ExecuteUpdate();
+ tx.Commit();
+ }
+ }
+ }
+ [Test]
+ public void TestMethod1()
+ {
+ using (new Scenario(Sfi))
+ {
+ // The test provided is only about Not-Throw
+ using (ISession session = OpenSession())
+ using (ITransaction transaction = session.BeginTransaction())
+ {
+
+ session.Query<Foo>().Cacheable().ToList();
+ session.Query<Bar>().Cacheable().ToList();
+ session.Query<Foo>().Cacheable().Fetch(x => x.Bars).ToList();
+ session.Query<Bar>().Cacheable().Fetch(x => x.Foo).ToList();
+ }
+ }
+ }
+ }
+}
\ No newline at end of file
Modified: trunk/nhibernate/src/NHibernate.Test/NHibernate.Test.csproj
===================================================================
--- trunk/nhibernate/src/NHibernate.Test/NHibernate.Test.csproj 2011-05-02 15:41:52 UTC (rev 5795)
+++ trunk/nhibernate/src/NHibernate.Test/NHibernate.Test.csproj 2011-05-03 11:20:54 UTC (rev 5796)
@@ -804,6 +804,7 @@
<Compile Include="NHSpecificTest\NH2583\MassTestingThreeOrTreesSideBySideFixture.cs" />
<Compile Include="NHSpecificTest\NH2583\MassTestingTwoOrTreesSideBySideFixture.cs" />
<Compile Include="NHSpecificTest\NH2583\SelfJoinTestFixture.cs" />
+ <Compile Include="NHSpecificTest\NH2587\CachingWithLinq.cs" />
<Compile Include="NHSpecificTest\NH2603\Fixture.cs" />
<Compile Include="NHSpecificTest\NH2603\Model.cs" />
<Compile Include="NHSpecificTest\NH2632\Domain.cs" />
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|
|
From: <fab...@us...> - 2011-05-09 21:20:30
|
Revision: 5804
http://nhibernate.svn.sourceforge.net/nhibernate/?rev=5804&view=rev
Author: fabiomaulo
Date: 2011-05-09 21:20:24 +0000 (Mon, 09 May 2011)
Log Message:
-----------
Passing test for NH-1965
Modified Paths:
--------------
trunk/nhibernate/src/NHibernate.Test/NHibernate.Test.csproj
Added Paths:
-----------
trunk/nhibernate/src/NHibernate.Test/NHSpecificTest/NH1965/
trunk/nhibernate/src/NHibernate.Test/NHSpecificTest/NH1965/ReattachWithCollectionTest.cs
Added: trunk/nhibernate/src/NHibernate.Test/NHSpecificTest/NH1965/ReattachWithCollectionTest.cs
===================================================================
--- trunk/nhibernate/src/NHibernate.Test/NHSpecificTest/NH1965/ReattachWithCollectionTest.cs (rev 0)
+++ trunk/nhibernate/src/NHibernate.Test/NHSpecificTest/NH1965/ReattachWithCollectionTest.cs 2011-05-09 21:20:24 UTC (rev 5804)
@@ -0,0 +1,59 @@
+using System;
+using System.Collections.Generic;
+using NHibernate.Cfg.MappingSchema;
+using NHibernate.Mapping.ByCode;
+using NUnit.Framework;
+using SharpTestsEx;
+
+namespace NHibernate.Test.NHSpecificTest.NH1965
+{
+ public class Cat
+ {
+ public Cat()
+ {
+ Children = new List<Cat>();
+ }
+ public virtual int Id { get; set; }
+ public virtual IList<Cat> Children { get; set; }
+ }
+
+ public class ReattachWithCollectionTest: TestCaseMappingByCode
+ {
+ protected override HbmMapping GetMappings()
+ {
+ var mapper = new ModelMapper();
+ // Note: DeleteOrphans has no sense, only added to match the case reported.
+ mapper.Class<Cat>(cm =>
+ {
+ cm.Id(x => x.Id, map => map.Generator(Generators.Identity));
+ cm.Bag(x => x.Children, map => map.Cascade(Mapping.ByCode.Cascade.All.Include(Mapping.ByCode.Cascade.DeleteOrphans)), rel => rel.OneToMany());
+ });
+ var mappings = mapper.CompileMappingForAllExplicitAddedEntities();
+ return mappings;
+ }
+
+ [Test]
+ public void WhenReattachThenNotThrows()
+ {
+ var cat = new Cat();
+ using (var session = OpenSession())
+ using (session.BeginTransaction())
+ {
+ session.Save(cat);
+ session.Transaction.Commit();
+ }
+
+ using (var session = OpenSession())
+ {
+ session.Executing(x => x.Lock(cat, LockMode.None)).NotThrows();
+ }
+
+ using (var session = OpenSession())
+ using (session.BeginTransaction())
+ {
+ session.Delete(cat);
+ session.Transaction.Commit();
+ }
+ }
+ }
+}
\ No newline at end of file
Modified: trunk/nhibernate/src/NHibernate.Test/NHibernate.Test.csproj
===================================================================
--- trunk/nhibernate/src/NHibernate.Test/NHibernate.Test.csproj 2011-05-09 16:05:57 UTC (rev 5803)
+++ trunk/nhibernate/src/NHibernate.Test/NHibernate.Test.csproj 2011-05-09 21:20:24 UTC (rev 5804)
@@ -656,6 +656,7 @@
<Compile Include="NHSpecificTest\NH1869\Fixture.cs" />
<Compile Include="NHSpecificTest\NH1925\Fixture.cs" />
<Compile Include="NHSpecificTest\NH1925\Model.cs" />
+ <Compile Include="NHSpecificTest\NH1965\ReattachWithCollectionTest.cs" />
<Compile Include="NHSpecificTest\NH2037\Domain.cs" />
<Compile Include="NHSpecificTest\NH2037\Fixture.cs" />
<Compile Include="NHSpecificTest\NH2043\Domain.cs" />
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|
|
From: <fab...@us...> - 2011-05-10 18:22:03
|
Revision: 5809
http://nhibernate.svn.sourceforge.net/nhibernate/?rev=5809&view=rev
Author: fabiomaulo
Date: 2011-05-10 18:21:57 +0000 (Tue, 10 May 2011)
Log Message:
-----------
No failing test for proxy
Modified Paths:
--------------
trunk/nhibernate/src/NHibernate.Test/NHibernate.Test.csproj
Added Paths:
-----------
trunk/nhibernate/src/NHibernate.Test/DynamicProxyTests/GenericMethodsTests/
trunk/nhibernate/src/NHibernate.Test/DynamicProxyTests/GenericMethodsTests/GenericMethodShouldBeProxied.cs
Added: trunk/nhibernate/src/NHibernate.Test/DynamicProxyTests/GenericMethodsTests/GenericMethodShouldBeProxied.cs
===================================================================
--- trunk/nhibernate/src/NHibernate.Test/DynamicProxyTests/GenericMethodsTests/GenericMethodShouldBeProxied.cs (rev 0)
+++ trunk/nhibernate/src/NHibernate.Test/DynamicProxyTests/GenericMethodsTests/GenericMethodShouldBeProxied.cs 2011-05-10 18:21:57 UTC (rev 5809)
@@ -0,0 +1,48 @@
+using System.Collections.Generic;
+using NHibernate.Proxy.DynamicProxy;
+using NUnit.Framework;
+using SharpTestsEx;
+
+namespace NHibernate.Test.DynamicProxyTests.GenericMethodsTests
+{
+ public class GenericMethodShouldBeProxied
+ {
+ public class MyClass
+ {
+ public virtual object Method<T>()
+ {
+ if(typeof(T) == typeof(int))
+ {
+ return 5;
+ }
+ if (typeof(T) == typeof(string))
+ {
+ return "blha";
+ }
+ return default(T);
+ }
+
+ public virtual TRequestedType As<TRequestedType>() where TRequestedType : MyClass
+ {
+ return this as TRequestedType;
+ }
+ }
+
+ [Test]
+ public void ProxyOfAGenericMethod()
+ {
+ var factory = new ProxyFactory();
+ var c = (MyClass)factory.CreateProxy(typeof(MyClass), new PassThroughInterceptor(new MyClass()), null);
+ c.Method<int>().Should().Be(5);
+ c.Method<string>().Should().Be("blha");
+ }
+
+ [Test]
+ public void ProxyOfSelfCastingMethod()
+ {
+ var factory = new ProxyFactory();
+ var c = (MyClass)factory.CreateProxy(typeof(MyClass), new PassThroughInterceptor(new MyClass()), null);
+ c.As<MyClass>().Should().Not.Be.Null();
+ }
+ }
+}
\ No newline at end of file
Modified: trunk/nhibernate/src/NHibernate.Test/NHibernate.Test.csproj
===================================================================
--- trunk/nhibernate/src/NHibernate.Test/NHibernate.Test.csproj 2011-05-10 17:39:47 UTC (rev 5808)
+++ trunk/nhibernate/src/NHibernate.Test/NHibernate.Test.csproj 2011-05-10 18:21:57 UTC (rev 5809)
@@ -219,6 +219,7 @@
<Compile Include="DriverTest\Sql2008DateTime2Test.cs" />
<Compile Include="DriverTest\SqlClientDriverFixture.cs" />
<Compile Include="DriverTest\SqlServerCeDriverFixture.cs" />
+ <Compile Include="DynamicProxyTests\GenericMethodsTests\GenericMethodShouldBeProxied.cs" />
<Compile Include="DynamicProxyTests\InterfaceProxySerializationTests\IMyProxy.cs" />
<Compile Include="DynamicProxyTests\InterfaceProxySerializationTests\MyProxyImpl.cs" />
<Compile Include="DynamicProxyTests\InterfaceProxySerializationTests\ProxyFixture.cs" />
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|
|
From: <fab...@us...> - 2011-05-12 19:48:56
|
Revision: 5815
http://nhibernate.svn.sourceforge.net/nhibernate/?rev=5815&view=rev
Author: fabiomaulo
Date: 2011-05-12 19:48:50 +0000 (Thu, 12 May 2011)
Log Message:
-----------
Demonstration for NH-2546
Modified Paths:
--------------
trunk/nhibernate/src/NHibernate.Test/NHibernate.Test.csproj
Added Paths:
-----------
trunk/nhibernate/src/NHibernate.Test/NHSpecificTest/NH2546/
trunk/nhibernate/src/NHibernate.Test/NHSpecificTest/NH2546/Mappings.hbm.xml
trunk/nhibernate/src/NHibernate.Test/NHSpecificTest/NH2546/Model.cs
trunk/nhibernate/src/NHibernate.Test/NHSpecificTest/NH2546/SetCommandParameterSizesFalseFixture.cs
Added: trunk/nhibernate/src/NHibernate.Test/NHSpecificTest/NH2546/Mappings.hbm.xml
===================================================================
--- trunk/nhibernate/src/NHibernate.Test/NHSpecificTest/NH2546/Mappings.hbm.xml (rev 0)
+++ trunk/nhibernate/src/NHibernate.Test/NHSpecificTest/NH2546/Mappings.hbm.xml 2011-05-12 19:48:50 UTC (rev 5815)
@@ -0,0 +1,14 @@
+<?xml version="1.0" encoding="utf-8" ?>
+<hibernate-mapping
+ xmlns="urn:nhibernate-mapping-2.2"
+ assembly="NHibernate.Test"
+ namespace="NHibernate.Test.NHSpecificTest.NH2546">
+
+ <class name="Student">
+ <id name="Id">
+ <generator class="native" />
+ </id>
+ <property name="StringTypeWithLengthDefined" type="String(15)"/>
+ </class>
+
+</hibernate-mapping>
Added: trunk/nhibernate/src/NHibernate.Test/NHSpecificTest/NH2546/Model.cs
===================================================================
--- trunk/nhibernate/src/NHibernate.Test/NHSpecificTest/NH2546/Model.cs (rev 0)
+++ trunk/nhibernate/src/NHibernate.Test/NHSpecificTest/NH2546/Model.cs 2011-05-12 19:48:50 UTC (rev 5815)
@@ -0,0 +1,8 @@
+namespace NHibernate.Test.NHSpecificTest.NH2546
+{
+ public class Student
+ {
+ public virtual int Id { get; set; }
+ public virtual string StringTypeWithLengthDefined { get; set; }
+ }
+}
Added: trunk/nhibernate/src/NHibernate.Test/NHSpecificTest/NH2546/SetCommandParameterSizesFalseFixture.cs
===================================================================
--- trunk/nhibernate/src/NHibernate.Test/NHSpecificTest/NH2546/SetCommandParameterSizesFalseFixture.cs (rev 0)
+++ trunk/nhibernate/src/NHibernate.Test/NHSpecificTest/NH2546/SetCommandParameterSizesFalseFixture.cs 2011-05-12 19:48:50 UTC (rev 5815)
@@ -0,0 +1,61 @@
+using System.Collections.Generic;
+using NUnit.Framework;
+using NHibernate.Criterion;
+
+namespace NHibernate.Test.NHSpecificTest.NH2546
+{
+ [TestFixture]
+ public class SetCommandParameterSizesFalseFixture : BugTestCase
+ {
+ protected override void OnSetUp()
+ {
+ using (ISession session = Sfi.OpenSession())
+ {
+ session.Persist(new Student() { StringTypeWithLengthDefined = "Julian Maughan" });
+ session.Persist(new Student() { StringTypeWithLengthDefined = "Bill Clinton" });
+ session.Flush();
+ }
+ }
+
+ protected override void OnTearDown()
+ {
+ using (ISession session = Sfi.OpenSession())
+ {
+ session.CreateQuery("delete from Student").ExecuteUpdate();
+ session.Flush();
+ }
+ base.OnTearDown();
+ }
+
+ [Test]
+ public void LikeExpressionWithinDefinedTypeSize()
+ {
+ using (ISession session = Sfi.OpenSession())
+ {
+ ICriteria criteria = session
+ .CreateCriteria<Student>()
+ .Add(Restrictions.Like("StringTypeWithLengthDefined", "Julian%"));
+
+ IList<Student> list = criteria.List<Student>();
+
+ Assert.That(list.Count, Is.EqualTo(1));
+ }
+ }
+
+ [Test]
+ public void LikeExpressionExceedsDefinedTypeSize()
+ {
+ // In this case we are forcing the usage of LikeExpression class where the length of the associated property is ignored
+ using (ISession session = Sfi.OpenSession())
+ {
+ ICriteria criteria = session
+ .CreateCriteria<Student>()
+ .Add(Restrictions.Like("StringTypeWithLengthDefined", "[a-z][a-z][a-z]ian%", MatchMode.Exact, null));
+
+ IList<Student> list = criteria.List<Student>();
+
+ Assert.That(list.Count, Is.EqualTo(1));
+ }
+ }
+ }
+}
Modified: trunk/nhibernate/src/NHibernate.Test/NHibernate.Test.csproj
===================================================================
--- trunk/nhibernate/src/NHibernate.Test/NHibernate.Test.csproj 2011-05-12 18:42:54 UTC (rev 5814)
+++ trunk/nhibernate/src/NHibernate.Test/NHibernate.Test.csproj 2011-05-12 19:48:50 UTC (rev 5815)
@@ -794,6 +794,8 @@
<Compile Include="NHSpecificTest\NH2527\Model.cs" />
<Compile Include="NHSpecificTest\NH2530\Domain.cs" />
<Compile Include="NHSpecificTest\NH2530\Fixture.cs" />
+ <Compile Include="NHSpecificTest\NH2546\Model.cs" />
+ <Compile Include="NHSpecificTest\NH2546\SetCommandParameterSizesFalseFixture.cs" />
<Compile Include="NHSpecificTest\NH2554\Fixture.cs" />
<Compile Include="NHSpecificTest\NH2554\Model.cs" />
<Compile Include="NHSpecificTest\NH2565\Domain.cs" />
@@ -2667,6 +2669,7 @@
<EmbeddedResource Include="NHSpecificTest\NH1291AnonExample\Mappings.hbm.xml" />
</ItemGroup>
<ItemGroup>
+ <EmbeddedResource Include="NHSpecificTest\NH2546\Mappings.hbm.xml" />
<EmbeddedResource Include="NHSpecificTest\NH2697\Mappings.hbm.xml" />
<EmbeddedResource Include="NHSpecificTest\NH1642\Mappings.hbm.xml" />
<EmbeddedResource Include="Stateless\Contact.hbm.xml" />
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|
|
From: <fab...@us...> - 2011-05-15 19:15:15
|
Revision: 5820
http://nhibernate.svn.sourceforge.net/nhibernate/?rev=5820&view=rev
Author: fabiomaulo
Date: 2011-05-15 19:15:09 +0000 (Sun, 15 May 2011)
Log Message:
-----------
Test ported
Modified Paths:
--------------
trunk/nhibernate/src/NHibernate.Test/NHibernate.Test.csproj
Added Paths:
-----------
trunk/nhibernate/src/NHibernate.Test/MappingByCode/MappersTests/NaturalIdMapperTest.cs
Added: trunk/nhibernate/src/NHibernate.Test/MappingByCode/MappersTests/NaturalIdMapperTest.cs
===================================================================
--- trunk/nhibernate/src/NHibernate.Test/MappingByCode/MappersTests/NaturalIdMapperTest.cs (rev 0)
+++ trunk/nhibernate/src/NHibernate.Test/MappingByCode/MappersTests/NaturalIdMapperTest.cs 2011-05-15 19:15:09 UTC (rev 5820)
@@ -0,0 +1,29 @@
+using NHibernate.Cfg.MappingSchema;
+using NHibernate.Mapping.ByCode.Impl;
+using NUnit.Framework;
+using SharpTestsEx;
+
+namespace NHibernate.Test.MappingByCode.MappersTests
+{
+ public class NaturalIdMapperTest
+ {
+ private class EntitySimpleWithNaturalId
+ {
+ public string Something { get; set; }
+ }
+
+ [Test]
+ public void CanSetMutable()
+ {
+ var mapdoc = new HbmMapping();
+ var hbmClass = new HbmClass();
+ var nid = new NaturalIdMapper(typeof(EntitySimpleWithNaturalId), hbmClass, mapdoc);
+ // to have the natural-id assigned ot must have at least a property
+ nid.Property(For<EntitySimpleWithNaturalId>.Property(x => x.Something), pm => { });
+
+ var hbmNaturalId = hbmClass.naturalid;
+ nid.Mutable(true);
+ hbmNaturalId.mutable.Should().Be.True();
+ }
+ }
+}
\ No newline at end of file
Modified: trunk/nhibernate/src/NHibernate.Test/NHibernate.Test.csproj
===================================================================
--- trunk/nhibernate/src/NHibernate.Test/NHibernate.Test.csproj 2011-05-15 14:26:56 UTC (rev 5819)
+++ trunk/nhibernate/src/NHibernate.Test/NHibernate.Test.csproj 2011-05-15 19:15:09 UTC (rev 5820)
@@ -579,6 +579,7 @@
<Compile Include="MappingByCode\MappersTests\JoinedSubclassMapperTests\SetPersisterTests.cs" />
<Compile Include="MappingByCode\MappersTests\JoinedSubclassMapperTests\TablesSincronizationTests.cs" />
<Compile Include="MappingByCode\MappersTests\JoinMapperTests.cs" />
+ <Compile Include="MappingByCode\MappersTests\NaturalIdMapperTest.cs" />
<Compile Include="MappingByCode\MappersTests\PropertyMapperTest.cs" />
<Compile Include="MappingByCode\MappersTests\SubclassMapperTests\SetPersisterTests.cs" />
<Compile Include="MappingByCode\MappersTests\SubclassMapperTests\TablesSincronizationTests.cs" />
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|
|
From: <fab...@us...> - 2011-05-15 19:29:33
|
Revision: 5823
http://nhibernate.svn.sourceforge.net/nhibernate/?rev=5823&view=rev
Author: fabiomaulo
Date: 2011-05-15 19:29:27 +0000 (Sun, 15 May 2011)
Log Message:
-----------
Moved test
Modified Paths:
--------------
trunk/nhibernate/src/NHibernate.Test/NHibernate.Test.csproj
Added Paths:
-----------
trunk/nhibernate/src/NHibernate.Test/MappingByCode/MappersTests/ManyToOneMapperTest.cs
Removed Paths:
-------------
trunk/nhibernate/src/NHibernate.Test/MappingByCode/ManyToOneMapperTest.cs
Deleted: trunk/nhibernate/src/NHibernate.Test/MappingByCode/ManyToOneMapperTest.cs
===================================================================
--- trunk/nhibernate/src/NHibernate.Test/MappingByCode/ManyToOneMapperTest.cs 2011-05-15 19:27:43 UTC (rev 5822)
+++ trunk/nhibernate/src/NHibernate.Test/MappingByCode/ManyToOneMapperTest.cs 2011-05-15 19:29:27 UTC (rev 5823)
@@ -1,305 +0,0 @@
-using System;
-using System.Linq;
-using NHibernate.Mapping.ByCode;
-using NHibernate.Cfg.MappingSchema;
-using NHibernate.Mapping.ByCode.Impl;
-using NUnit.Framework;
-using SharpTestsEx;
-
-namespace NHibernate.Test.MappingByCode
-{
- public class ManyToOneMapperTest
- {
- private class MyClass
- {
- public Relation Relation { get; set; }
- public IRelation TheOtherRelation { get; set; }
- }
-
- private interface IRelation
- {
-
- }
-
- private class Relation : IRelation
- {
-
- }
-
- private class Whatever
- {
-
- }
-
- [Test]
- public void AssignCascadeStyle()
- {
- var hbmMapping = new HbmMapping();
- var hbm = new HbmManyToOne();
- var mapper = new ManyToOneMapper(null, hbm, hbmMapping);
- mapper.Cascade(Mapping.ByCode.Cascade.Persist | Mapping.ByCode.Cascade.Remove);
- hbm.cascade.Split(',').Select(w => w.Trim()).Should().Contain("persist").And.Contain("delete");
- }
-
- [Test]
- public void AutoCleanUnsupportedCascadeStyle()
- {
- var hbmMapping = new HbmMapping();
- var hbm = new HbmManyToOne();
- var mapper = new ManyToOneMapper(null, hbm, hbmMapping);
- mapper.Cascade(Mapping.ByCode.Cascade.Persist | Mapping.ByCode.Cascade.DeleteOrphans | Mapping.ByCode.Cascade.Remove);
- hbm.cascade.Split(',').Select(w => w.Trim()).All(w => w.Satisfy(cascade => !cascade.Contains("orphan")));
- }
-
- [Test]
- public void CanSetAccessor()
- {
- var hbmMapping = new HbmMapping();
- var member = typeof(MyClass).GetProperty("Relation");
- var hbm = new HbmManyToOne();
- var mapper = new ManyToOneMapper(member, hbm, hbmMapping);
-
- mapper.Access(Accessor.ReadOnly);
- hbm.Access.Should().Be("readonly");
- }
-
- [Test]
- public void WhenSetDifferentColumnNameThenSetTheName()
- {
- var hbmMapping = new HbmMapping();
- var member = typeof(MyClass).GetProperty("Relation");
- var hbm = new HbmManyToOne();
- var mapper = new ManyToOneMapper(member, hbm, hbmMapping);
- mapper.Column(cm => cm.Name("RelationId"));
-
- hbm.Columns.Should().Have.Count.EqualTo(1);
- hbm.Columns.Single().name.Should().Be("RelationId");
- }
-
- [Test]
- public void WhenSetDefaultColumnNameThenDoesNotSetTheName()
- {
- var hbmMapping = new HbmMapping();
- var member = typeof(MyClass).GetProperty("Relation");
- var mapping = new HbmManyToOne();
- var mapper = new ManyToOneMapper(member, mapping, hbmMapping);
- mapper.Column(cm => cm.Name("Relation"));
- mapping.column.Should().Be.Null();
- mapping.Columns.Should().Be.Empty();
- }
-
- [Test]
- public void WhenSetBasicColumnValuesThenSetPlainValues()
- {
- var hbmMapping = new HbmMapping();
- var member = typeof(MyClass).GetProperty("Relation");
- var mapping = new HbmManyToOne();
- var mapper = new ManyToOneMapper(member, mapping, hbmMapping);
- mapper.Column(cm =>
- {
- cm.UniqueKey("theUnique");
- cm.NotNullable(true);
- });
- mapping.Items.Should().Be.Null();
- mapping.uniquekey.Should().Be("theUnique");
- mapping.notnull.Should().Be(true);
- mapping.notnullSpecified.Should().Be(true);
- }
-
- [Test]
- public void WhenSetColumnValuesThenAddColumnTag()
- {
- var hbmMapping = new HbmMapping();
- var member = typeof(MyClass).GetProperty("Relation");
- var mapping = new HbmManyToOne();
- var mapper = new ManyToOneMapper(member, mapping, hbmMapping);
- mapper.Column(cm =>
- {
- cm.SqlType("BIGINT");
- cm.NotNullable(true);
- });
- mapping.Items.Should().Not.Be.Null();
- mapping.Columns.Should().Have.Count.EqualTo(1);
- }
-
- [Test]
- public void WhenSetBasicColumnValuesMoreThanOnesThenMergeColumn()
- {
- var hbmMapping = new HbmMapping();
- var member = typeof(MyClass).GetProperty("Relation");
- var mapping = new HbmManyToOne();
- var mapper = new ManyToOneMapper(member, mapping, hbmMapping);
- mapper.Column(cm => cm.UniqueKey("theUnique"));
- mapper.Column(cm => cm.NotNullable(true));
-
- mapping.Items.Should().Be.Null();
- mapping.uniquekey.Should().Be("theUnique");
- mapping.notnull.Should().Be(true);
- mapping.notnullSpecified.Should().Be(true);
- }
-
- [Test]
- public void WhenSetMultiColumnsValuesThenAddColumns()
- {
- var hbmMapping = new HbmMapping();
- var member = typeof(MyClass).GetProperty("Relation");
- var mapping = new HbmManyToOne();
- var mapper = new ManyToOneMapper(member, mapping, hbmMapping);
- mapper.Columns(cm =>
- {
- cm.Name("column1");
- cm.Length(50);
- }, cm =>
- {
- cm.Name("column2");
- cm.SqlType("VARCHAR(10)");
- });
- mapping.Columns.Should().Have.Count.EqualTo(2);
- }
-
- [Test]
- public void WhenSetMultiColumnsValuesThenAutoassignColumnNames()
- {
- var hbmMapping = new HbmMapping();
- var member = typeof(MyClass).GetProperty("Relation");
- var mapping = new HbmManyToOne();
- var mapper = new ManyToOneMapper(member, mapping, hbmMapping);
- mapper.Columns(cm => cm.Length(50), cm => cm.SqlType("VARCHAR(10)"));
- mapping.Columns.Should().Have.Count.EqualTo(2);
- mapping.Columns.All(cm => cm.name.Satisfy(n => !string.IsNullOrEmpty(n)));
- }
-
- [Test]
- public void AfterSetMultiColumnsCantSetSimpleColumn()
- {
- var hbmMapping = new HbmMapping();
- var member = typeof(MyClass).GetProperty("Relation");
- var mapping = new HbmManyToOne();
- var mapper = new ManyToOneMapper(member, mapping, hbmMapping);
- mapper.Columns(cm => cm.Length(50), cm => cm.SqlType("VARCHAR(10)"));
- Executing.This(() => mapper.Column(cm => cm.Length(50))).Should().Throw<MappingException>();
- }
-
- [Test]
- public void WhenSetBasicColumnValuesThroughShortCutThenMergeColumn()
- {
- var hbmMapping = new HbmMapping();
- var member = typeof(MyClass).GetProperty("Relation");
- var mapping = new HbmManyToOne();
- var mapper = new ManyToOneMapper(member, mapping, hbmMapping);
- mapper.Column("pizza");
- mapper.NotNullable(true);
- mapper.Unique(true);
- mapper.UniqueKey("AA");
- mapper.Index("II");
-
- mapping.Items.Should().Be.Null();
- mapping.column.Should().Be("pizza");
- mapping.notnull.Should().Be(true);
- mapping.unique.Should().Be(true);
- mapping.uniquekey.Should().Be("AA");
- mapping.index.Should().Be("II");
- }
-
- [Test]
- public void WhenSetFetchModeToJoinThenSetFetch()
- {
- var hbmMapping = new HbmMapping();
- var member = typeof(MyClass).GetProperty("Relation");
- var mapping = new HbmManyToOne();
- var mapper = new ManyToOneMapper(member, mapping, hbmMapping);
-
- mapper.Fetch(FetchKind.Join);
-
- mapping.fetch.Should().Be(HbmFetchMode.Join);
- mapping.fetchSpecified.Should().Be.True();
- }
-
- [Test]
- public void WhenSetFetchModeToSelectThenResetFetch()
- {
- var hbmMapping = new HbmMapping();
- var member = typeof(MyClass).GetProperty("Relation");
- var mapping = new HbmManyToOne();
- var mapper = new ManyToOneMapper(member, mapping, hbmMapping);
-
- mapper.Fetch(FetchKind.Select);
-
- mapping.fetch.Should().Be(HbmFetchMode.Select);
- mapping.fetchSpecified.Should().Be.False();
- }
-
- [Test]
- public void CanForceClassRelation()
- {
- var hbmMapping = new HbmMapping();
- var member = typeof(MyClass).GetProperty("TheOtherRelation");
- var mapping = new HbmManyToOne();
- var mapper = new ManyToOneMapper(member, mapping, hbmMapping);
-
- mapper.Class(typeof(Relation));
-
- mapping.Class.Should().Contain("Relation").And.Not.Contain("IRelation");
- }
-
- [Test]
- public void WhenForceClassRelationToIncompatibleTypeThenThrows()
- {
- var hbmMapping = new HbmMapping();
- var member = typeof(MyClass).GetProperty("TheOtherRelation");
- var mapping = new HbmManyToOne();
- var mapper = new ManyToOneMapper(member, mapping, hbmMapping);
-
- Executing.This(() => mapper.Class(typeof(Whatever))).Should().Throw<ArgumentOutOfRangeException>();
- }
-
- [Test]
- public void CanSetLazyness()
- {
- var hbmMapping = new HbmMapping();
- var member = typeof(MyClass).GetProperty("TheOtherRelation");
- var mapping = new HbmManyToOne();
- var mapper = new ManyToOneMapper(member, mapping, hbmMapping);
- mapper.Lazy(LazyRelation.NoProxy);
- mapping.Lazy.Should().Have.Value();
- mapping.Lazy.Should().Be(HbmLaziness.NoProxy);
- }
-
- [Test]
- public void CanSetUpdate()
- {
- var hbmMapping = new HbmMapping();
- var member = typeof(MyClass).GetProperty("Relation");
- var hbm = new HbmManyToOne();
- var mapper = new ManyToOneMapper(member, hbm, hbmMapping);
-
- mapper.Update(false);
- hbm.update.Should().Be.False();
- }
-
- [Test]
- public void CanSetInsert()
- {
- var hbmMapping = new HbmMapping();
- var member = typeof(MyClass).GetProperty("Relation");
- var hbm = new HbmManyToOne();
- var mapper = new ManyToOneMapper(member, hbm, hbmMapping);
-
- mapper.Insert(false);
- hbm.insert.Should().Be.False();
- }
-
- [Test]
- public void CanSetFk()
- {
- var hbmMapping = new HbmMapping();
- var member = typeof(MyClass).GetProperty("Relation");
- var hbm = new HbmManyToOne();
- var mapper = new ManyToOneMapper(member, hbm, hbmMapping);
-
- mapper.ForeignKey("MyFkName");
-
- hbm.foreignkey.Should().Be("MyFkName");
- }
- }
-}
\ No newline at end of file
Copied: trunk/nhibernate/src/NHibernate.Test/MappingByCode/MappersTests/ManyToOneMapperTest.cs (from rev 5822, trunk/nhibernate/src/NHibernate.Test/MappingByCode/ManyToOneMapperTest.cs)
===================================================================
--- trunk/nhibernate/src/NHibernate.Test/MappingByCode/MappersTests/ManyToOneMapperTest.cs (rev 0)
+++ trunk/nhibernate/src/NHibernate.Test/MappingByCode/MappersTests/ManyToOneMapperTest.cs 2011-05-15 19:29:27 UTC (rev 5823)
@@ -0,0 +1,305 @@
+using System;
+using System.Linq;
+using NHibernate.Mapping.ByCode;
+using NHibernate.Cfg.MappingSchema;
+using NHibernate.Mapping.ByCode.Impl;
+using NUnit.Framework;
+using SharpTestsEx;
+
+namespace NHibernate.Test.MappingByCode.MappersTests
+{
+ public class ManyToOneMapperTest
+ {
+ private class MyClass
+ {
+ public Relation Relation { get; set; }
+ public IRelation TheOtherRelation { get; set; }
+ }
+
+ private interface IRelation
+ {
+
+ }
+
+ private class Relation : IRelation
+ {
+
+ }
+
+ private class Whatever
+ {
+
+ }
+
+ [Test]
+ public void AssignCascadeStyle()
+ {
+ var hbmMapping = new HbmMapping();
+ var hbm = new HbmManyToOne();
+ var mapper = new ManyToOneMapper(null, hbm, hbmMapping);
+ mapper.Cascade(Mapping.ByCode.Cascade.Persist | Mapping.ByCode.Cascade.Remove);
+ hbm.cascade.Split(',').Select(w => w.Trim()).Should().Contain("persist").And.Contain("delete");
+ }
+
+ [Test]
+ public void AutoCleanUnsupportedCascadeStyle()
+ {
+ var hbmMapping = new HbmMapping();
+ var hbm = new HbmManyToOne();
+ var mapper = new ManyToOneMapper(null, hbm, hbmMapping);
+ mapper.Cascade(Mapping.ByCode.Cascade.Persist | Mapping.ByCode.Cascade.DeleteOrphans | Mapping.ByCode.Cascade.Remove);
+ hbm.cascade.Split(',').Select(w => w.Trim()).All(w => w.Satisfy(cascade => !cascade.Contains("orphan")));
+ }
+
+ [Test]
+ public void CanSetAccessor()
+ {
+ var hbmMapping = new HbmMapping();
+ var member = typeof(MyClass).GetProperty("Relation");
+ var hbm = new HbmManyToOne();
+ var mapper = new ManyToOneMapper(member, hbm, hbmMapping);
+
+ mapper.Access(Accessor.ReadOnly);
+ hbm.Access.Should().Be("readonly");
+ }
+
+ [Test]
+ public void WhenSetDifferentColumnNameThenSetTheName()
+ {
+ var hbmMapping = new HbmMapping();
+ var member = typeof(MyClass).GetProperty("Relation");
+ var hbm = new HbmManyToOne();
+ var mapper = new ManyToOneMapper(member, hbm, hbmMapping);
+ mapper.Column(cm => cm.Name("RelationId"));
+
+ hbm.Columns.Should().Have.Count.EqualTo(1);
+ hbm.Columns.Single().name.Should().Be("RelationId");
+ }
+
+ [Test]
+ public void WhenSetDefaultColumnNameThenDoesNotSetTheName()
+ {
+ var hbmMapping = new HbmMapping();
+ var member = typeof(MyClass).GetProperty("Relation");
+ var mapping = new HbmManyToOne();
+ var mapper = new ManyToOneMapper(member, mapping, hbmMapping);
+ mapper.Column(cm => cm.Name("Relation"));
+ mapping.column.Should().Be.Null();
+ mapping.Columns.Should().Be.Empty();
+ }
+
+ [Test]
+ public void WhenSetBasicColumnValuesThenSetPlainValues()
+ {
+ var hbmMapping = new HbmMapping();
+ var member = typeof(MyClass).GetProperty("Relation");
+ var mapping = new HbmManyToOne();
+ var mapper = new ManyToOneMapper(member, mapping, hbmMapping);
+ mapper.Column(cm =>
+ {
+ cm.UniqueKey("theUnique");
+ cm.NotNullable(true);
+ });
+ mapping.Items.Should().Be.Null();
+ mapping.uniquekey.Should().Be("theUnique");
+ mapping.notnull.Should().Be(true);
+ mapping.notnullSpecified.Should().Be(true);
+ }
+
+ [Test]
+ public void WhenSetColumnValuesThenAddColumnTag()
+ {
+ var hbmMapping = new HbmMapping();
+ var member = typeof(MyClass).GetProperty("Relation");
+ var mapping = new HbmManyToOne();
+ var mapper = new ManyToOneMapper(member, mapping, hbmMapping);
+ mapper.Column(cm =>
+ {
+ cm.SqlType("BIGINT");
+ cm.NotNullable(true);
+ });
+ mapping.Items.Should().Not.Be.Null();
+ mapping.Columns.Should().Have.Count.EqualTo(1);
+ }
+
+ [Test]
+ public void WhenSetBasicColumnValuesMoreThanOnesThenMergeColumn()
+ {
+ var hbmMapping = new HbmMapping();
+ var member = typeof(MyClass).GetProperty("Relation");
+ var mapping = new HbmManyToOne();
+ var mapper = new ManyToOneMapper(member, mapping, hbmMapping);
+ mapper.Column(cm => cm.UniqueKey("theUnique"));
+ mapper.Column(cm => cm.NotNullable(true));
+
+ mapping.Items.Should().Be.Null();
+ mapping.uniquekey.Should().Be("theUnique");
+ mapping.notnull.Should().Be(true);
+ mapping.notnullSpecified.Should().Be(true);
+ }
+
+ [Test]
+ public void WhenSetMultiColumnsValuesThenAddColumns()
+ {
+ var hbmMapping = new HbmMapping();
+ var member = typeof(MyClass).GetProperty("Relation");
+ var mapping = new HbmManyToOne();
+ var mapper = new ManyToOneMapper(member, mapping, hbmMapping);
+ mapper.Columns(cm =>
+ {
+ cm.Name("column1");
+ cm.Length(50);
+ }, cm =>
+ {
+ cm.Name("column2");
+ cm.SqlType("VARCHAR(10)");
+ });
+ mapping.Columns.Should().Have.Count.EqualTo(2);
+ }
+
+ [Test]
+ public void WhenSetMultiColumnsValuesThenAutoassignColumnNames()
+ {
+ var hbmMapping = new HbmMapping();
+ var member = typeof(MyClass).GetProperty("Relation");
+ var mapping = new HbmManyToOne();
+ var mapper = new ManyToOneMapper(member, mapping, hbmMapping);
+ mapper.Columns(cm => cm.Length(50), cm => cm.SqlType("VARCHAR(10)"));
+ mapping.Columns.Should().Have.Count.EqualTo(2);
+ mapping.Columns.All(cm => cm.name.Satisfy(n => !string.IsNullOrEmpty(n)));
+ }
+
+ [Test]
+ public void AfterSetMultiColumnsCantSetSimpleColumn()
+ {
+ var hbmMapping = new HbmMapping();
+ var member = typeof(MyClass).GetProperty("Relation");
+ var mapping = new HbmManyToOne();
+ var mapper = new ManyToOneMapper(member, mapping, hbmMapping);
+ mapper.Columns(cm => cm.Length(50), cm => cm.SqlType("VARCHAR(10)"));
+ Executing.This(() => mapper.Column(cm => cm.Length(50))).Should().Throw<MappingException>();
+ }
+
+ [Test]
+ public void WhenSetBasicColumnValuesThroughShortCutThenMergeColumn()
+ {
+ var hbmMapping = new HbmMapping();
+ var member = typeof(MyClass).GetProperty("Relation");
+ var mapping = new HbmManyToOne();
+ var mapper = new ManyToOneMapper(member, mapping, hbmMapping);
+ mapper.Column("pizza");
+ mapper.NotNullable(true);
+ mapper.Unique(true);
+ mapper.UniqueKey("AA");
+ mapper.Index("II");
+
+ mapping.Items.Should().Be.Null();
+ mapping.column.Should().Be("pizza");
+ mapping.notnull.Should().Be(true);
+ mapping.unique.Should().Be(true);
+ mapping.uniquekey.Should().Be("AA");
+ mapping.index.Should().Be("II");
+ }
+
+ [Test]
+ public void WhenSetFetchModeToJoinThenSetFetch()
+ {
+ var hbmMapping = new HbmMapping();
+ var member = typeof(MyClass).GetProperty("Relation");
+ var mapping = new HbmManyToOne();
+ var mapper = new ManyToOneMapper(member, mapping, hbmMapping);
+
+ mapper.Fetch(FetchKind.Join);
+
+ mapping.fetch.Should().Be(HbmFetchMode.Join);
+ mapping.fetchSpecified.Should().Be.True();
+ }
+
+ [Test]
+ public void WhenSetFetchModeToSelectThenResetFetch()
+ {
+ var hbmMapping = new HbmMapping();
+ var member = typeof(MyClass).GetProperty("Relation");
+ var mapping = new HbmManyToOne();
+ var mapper = new ManyToOneMapper(member, mapping, hbmMapping);
+
+ mapper.Fetch(FetchKind.Select);
+
+ mapping.fetch.Should().Be(HbmFetchMode.Select);
+ mapping.fetchSpecified.Should().Be.False();
+ }
+
+ [Test]
+ public void CanForceClassRelation()
+ {
+ var hbmMapping = new HbmMapping();
+ var member = typeof(MyClass).GetProperty("TheOtherRelation");
+ var mapping = new HbmManyToOne();
+ var mapper = new ManyToOneMapper(member, mapping, hbmMapping);
+
+ mapper.Class(typeof(Relation));
+
+ mapping.Class.Should().Contain("Relation").And.Not.Contain("IRelation");
+ }
+
+ [Test]
+ public void WhenForceClassRelationToIncompatibleTypeThenThrows()
+ {
+ var hbmMapping = new HbmMapping();
+ var member = typeof(MyClass).GetProperty("TheOtherRelation");
+ var mapping = new HbmManyToOne();
+ var mapper = new ManyToOneMapper(member, mapping, hbmMapping);
+
+ Executing.This(() => mapper.Class(typeof(Whatever))).Should().Throw<ArgumentOutOfRangeException>();
+ }
+
+ [Test]
+ public void CanSetLazyness()
+ {
+ var hbmMapping = new HbmMapping();
+ var member = typeof(MyClass).GetProperty("TheOtherRelation");
+ var mapping = new HbmManyToOne();
+ var mapper = new ManyToOneMapper(member, mapping, hbmMapping);
+ mapper.Lazy(LazyRelation.NoProxy);
+ mapping.Lazy.Should().Have.Value();
+ mapping.Lazy.Should().Be(HbmLaziness.NoProxy);
+ }
+
+ [Test]
+ public void CanSetUpdate()
+ {
+ var hbmMapping = new HbmMapping();
+ var member = typeof(MyClass).GetProperty("Relation");
+ var hbm = new HbmManyToOne();
+ var mapper = new ManyToOneMapper(member, hbm, hbmMapping);
+
+ mapper.Update(false);
+ hbm.update.Should().Be.False();
+ }
+
+ [Test]
+ public void CanSetInsert()
+ {
+ var hbmMapping = new HbmMapping();
+ var member = typeof(MyClass).GetProperty("Relation");
+ var hbm = new HbmManyToOne();
+ var mapper = new ManyToOneMapper(member, hbm, hbmMapping);
+
+ mapper.Insert(false);
+ hbm.insert.Should().Be.False();
+ }
+
+ [Test]
+ public void CanSetFk()
+ {
+ var hbmMapping = new HbmMapping();
+ var member = typeof(MyClass).GetProperty("Relation");
+ var hbm = new HbmManyToOne();
+ var mapper = new ManyToOneMapper(member, hbm, hbmMapping);
+
+ mapper.ForeignKey("MyFkName");
+
+ hbm.foreignkey.Should().Be("MyFkName");
+ }
+ }
+}
\ No newline at end of file
Modified: trunk/nhibernate/src/NHibernate.Test/NHibernate.Test.csproj
===================================================================
--- trunk/nhibernate/src/NHibernate.Test/NHibernate.Test.csproj 2011-05-15 19:27:43 UTC (rev 5822)
+++ trunk/nhibernate/src/NHibernate.Test/NHibernate.Test.csproj 2011-05-15 19:29:27 UTC (rev 5823)
@@ -552,7 +552,7 @@
<Compile Include="MappingByCode\ExpliticMappingTests\SubclassPropertiesSplitsTests.cs" />
<Compile Include="MappingByCode\ExpliticMappingTests\VersionTests.cs" />
<Compile Include="MappingByCode\For.cs" />
- <Compile Include="MappingByCode\ManyToOneMapperTest.cs" />
+ <Compile Include="MappingByCode\MappersTests\ManyToOneMapperTest.cs" />
<Compile Include="MappingByCode\MappersTests\AbstractPropertyContainerMapperTest.cs" />
<Compile Include="MappingByCode\MappersTests\ClassMapperTests\CheckMixingPOIDStrategiesTests.cs" />
<Compile Include="MappingByCode\MappersTests\ClassMapperTests\ClassMapperWithJoinPropertiesTest.cs" />
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|
|
From: <fab...@us...> - 2011-05-16 14:37:33
|
Revision: 5829
http://nhibernate.svn.sourceforge.net/nhibernate/?rev=5829&view=rev
Author: fabiomaulo
Date: 2011-05-16 14:37:27 +0000 (Mon, 16 May 2011)
Log Message:
-----------
Tests (not fixed) for NH-2705 and NH-2615
Modified Paths:
--------------
trunk/nhibernate/src/NHibernate.Test/NHibernate.Test.csproj
Added Paths:
-----------
trunk/nhibernate/src/NHibernate.Test/NHSpecificTest/NH2705/
trunk/nhibernate/src/NHibernate.Test/NHSpecificTest/NH2705/ItemBase.cs
trunk/nhibernate/src/NHibernate.Test/NHSpecificTest/NH2705/Mappings.hbm.xml
trunk/nhibernate/src/NHibernate.Test/NHSpecificTest/NH2705/SubItemBase.cs
trunk/nhibernate/src/NHibernate.Test/NHSpecificTest/NH2705/SubItemDetails.cs
trunk/nhibernate/src/NHibernate.Test/NHSpecificTest/NH2705/Test.cs
Added: trunk/nhibernate/src/NHibernate.Test/NHSpecificTest/NH2705/ItemBase.cs
===================================================================
--- trunk/nhibernate/src/NHibernate.Test/NHSpecificTest/NH2705/ItemBase.cs (rev 0)
+++ trunk/nhibernate/src/NHibernate.Test/NHSpecificTest/NH2705/ItemBase.cs 2011-05-16 14:37:27 UTC (rev 5829)
@@ -0,0 +1,12 @@
+namespace NHibernate.Test.NHSpecificTest.NH2705
+{
+ public class ItemBase
+ {
+ public virtual int Id { get; set; }
+ public virtual SubItemBase SubItem { get; set; }
+ }
+
+ public class ItemWithComponentSubItem : ItemBase {}
+
+ public class ItemWithManyToOneSubItem : ItemBase {}
+}
\ No newline at end of file
Added: trunk/nhibernate/src/NHibernate.Test/NHSpecificTest/NH2705/Mappings.hbm.xml
===================================================================
--- trunk/nhibernate/src/NHibernate.Test/NHSpecificTest/NH2705/Mappings.hbm.xml (rev 0)
+++ trunk/nhibernate/src/NHibernate.Test/NHSpecificTest/NH2705/Mappings.hbm.xml 2011-05-16 14:37:27 UTC (rev 5829)
@@ -0,0 +1,38 @@
+<?xml version="1.0" encoding="utf-8" ?>
+<hibernate-mapping xmlns="urn:nhibernate-mapping-2.2"
+ assembly="NHibernate.Test"
+ namespace="NHibernate.Test.NHSpecificTest.NH2705">
+
+ <class name="ItemBase">
+ <id name="Id" type="int">
+ <generator class="native" />
+ </id>
+ <joined-subclass name="ItemWithComponentSubItem">
+ <key column="ItemBase_id"/>
+ <component name="SubItem" class="SubItemComponent">
+ <property name="Name" />
+ <many-to-one class="SubItemDetails" name="Details" column="SubItemDetails_id"/>
+ </component>
+ </joined-subclass>
+ <joined-subclass name="ItemWithManyToOneSubItem">
+ <key column="ItemBase_id"/>
+ <many-to-one class="SubItemEntity" name="SubItem" column="SubItem_id"/>
+ </joined-subclass>
+ </class>
+
+ <class name="SubItemEntity">
+ <id name="Id" type="int">
+ <generator class="native" />
+ </id>
+ <property name="Name" />
+ <many-to-one class="SubItemDetails" name="Details" column="SubItemDetails_id" />
+ </class>
+
+ <class name="SubItemDetails">
+ <id name="Id" type="int">
+ <generator class="native" />
+ </id>
+ <property name="Name" />
+ </class>
+</hibernate-mapping>
+
Added: trunk/nhibernate/src/NHibernate.Test/NHSpecificTest/NH2705/SubItemBase.cs
===================================================================
--- trunk/nhibernate/src/NHibernate.Test/NHSpecificTest/NH2705/SubItemBase.cs (rev 0)
+++ trunk/nhibernate/src/NHibernate.Test/NHSpecificTest/NH2705/SubItemBase.cs 2011-05-16 14:37:27 UTC (rev 5829)
@@ -0,0 +1,15 @@
+namespace NHibernate.Test.NHSpecificTest.NH2705
+{
+ public class SubItemBase
+ {
+ public virtual string Name { get; set; }
+ public virtual SubItemDetails Details { get; set; }
+ }
+
+ public class SubItemComponent : SubItemBase {}
+
+ public class SubItemEntity : SubItemBase
+ {
+ public virtual int Id { get; set; }
+ }
+}
\ No newline at end of file
Added: trunk/nhibernate/src/NHibernate.Test/NHSpecificTest/NH2705/SubItemDetails.cs
===================================================================
--- trunk/nhibernate/src/NHibernate.Test/NHSpecificTest/NH2705/SubItemDetails.cs (rev 0)
+++ trunk/nhibernate/src/NHibernate.Test/NHSpecificTest/NH2705/SubItemDetails.cs 2011-05-16 14:37:27 UTC (rev 5829)
@@ -0,0 +1,8 @@
+namespace NHibernate.Test.NHSpecificTest.NH2705
+{
+ public class SubItemDetails
+ {
+ public virtual int Id { get; set; }
+ public virtual string Name { get; set; }
+ }
+}
\ No newline at end of file
Added: trunk/nhibernate/src/NHibernate.Test/NHSpecificTest/NH2705/Test.cs
===================================================================
--- trunk/nhibernate/src/NHibernate.Test/NHSpecificTest/NH2705/Test.cs (rev 0)
+++ trunk/nhibernate/src/NHibernate.Test/NHSpecificTest/NH2705/Test.cs 2011-05-16 14:37:27 UTC (rev 5829)
@@ -0,0 +1,74 @@
+using System.Collections.Generic;
+using System.Linq;
+using NHibernate.Linq;
+using NUnit.Framework;
+using SharpTestsEx;
+
+// ReSharper disable InconsistentNaming
+
+namespace NHibernate.Test.NHSpecificTest.NH2705
+{
+ [TestFixture, Ignore("Not fixed yet")]
+ public class Test : BugTestCase
+ {
+ private static IEnumerable<T> GetAndFetch<T>(string name, ISession session) where T : ItemBase
+ {
+ // this is a valid abstraction, the calling code should be able to ask that a property is eagerly loaded/available
+ // without having to know how it is mapped
+ return session.Query<T>()
+ .Fetch(p => p.SubItem).ThenFetch(p => p.Details) // should be able to fetch .Details when used with components (NH2615)
+ .Where(p => p.SubItem.Name == name).ToList();
+ }
+
+ [Test]
+ public void Fetch_OnComponent_ShouldNotThrow()
+ {
+ using (ISession s = OpenSession())
+ {
+ Executing.This(() => GetAndFetch<ItemWithComponentSubItem>("hello", s)).Should().NotThrow();
+ }
+ }
+
+ [Test]
+ public void Fetch_OnManyToOne_ShouldNotThrow()
+ {
+ using (ISession s = OpenSession())
+ {
+ Executing.This(() => GetAndFetch<ItemWithManyToOneSubItem>("hello", s)).Should().NotThrow();
+ }
+ }
+
+ [Test]
+ public void HqlQueryWithFetch_WhenDerivedClassesUseComponentAndManyToOne_DoesNotGenerateInvalidSql()
+ {
+ using (ISession s = OpenSession())
+ {
+ using (var log = new SqlLogSpy())
+ {
+ Executing.This(() => s.CreateQuery("from ItemBase i left join fetch i.SubItem").List()
+ ).Should().NotThrow();
+ }
+ }
+ }
+
+ [Test]
+ public void LinqQueryWithFetch_WhenDerivedClassesUseComponentAndManyToOne_DoesNotGenerateInvalidSql()
+ {
+ using (ISession s = OpenSession())
+ {
+ using (var log = new SqlLogSpy())
+ {
+ Executing.This(() => s.Query<ItemBase>()
+ .Fetch(p => p.SubItem).ToList()
+ ).Should().NotThrow();
+
+
+ // fetching second level properties should work too
+ Executing.This(() => s.Query<ItemBase>()
+ .Fetch(p => p.SubItem).ThenFetch(p => p.Details).ToList()
+ ).Should().NotThrow();
+ }
+ }
+ }
+ }
+}
\ No newline at end of file
Modified: trunk/nhibernate/src/NHibernate.Test/NHibernate.Test.csproj
===================================================================
--- trunk/nhibernate/src/NHibernate.Test/NHibernate.Test.csproj 2011-05-16 02:07:33 UTC (rev 5828)
+++ trunk/nhibernate/src/NHibernate.Test/NHibernate.Test.csproj 2011-05-16 14:37:27 UTC (rev 5829)
@@ -832,6 +832,10 @@
<Compile Include="NHSpecificTest\NH2697\ArticleGroupItem.cs" />
<Compile Include="NHSpecificTest\NH2697\ArticleItem.cs" />
<Compile Include="NHSpecificTest\NH2697\SampleTest.cs" />
+ <Compile Include="NHSpecificTest\NH2705\ItemBase.cs" />
+ <Compile Include="NHSpecificTest\NH2705\SubItemBase.cs" />
+ <Compile Include="NHSpecificTest\NH2705\SubItemDetails.cs" />
+ <Compile Include="NHSpecificTest\NH2705\Test.cs" />
<Compile Include="NHSpecificTest\Properties\CompositePropertyRefTest.cs" />
<Compile Include="NHSpecificTest\Properties\DynamicEntityTest.cs" />
<Compile Include="NHSpecificTest\Properties\Model.cs" />
@@ -2674,6 +2678,7 @@
<EmbeddedResource Include="NHSpecificTest\NH1291AnonExample\Mappings.hbm.xml" />
</ItemGroup>
<ItemGroup>
+ <EmbeddedResource Include="NHSpecificTest\NH2705\Mappings.hbm.xml" />
<EmbeddedResource Include="NHSpecificTest\NH2546\Mappings.hbm.xml" />
<EmbeddedResource Include="NHSpecificTest\NH2697\Mappings.hbm.xml" />
<EmbeddedResource Include="NHSpecificTest\NH1642\Mappings.hbm.xml" />
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|
|
From: <fab...@us...> - 2011-05-17 22:33:23
|
Revision: 5836
http://nhibernate.svn.sourceforge.net/nhibernate/?rev=5836&view=rev
Author: fabiomaulo
Date: 2011-05-17 22:33:17 +0000 (Tue, 17 May 2011)
Log Message:
-----------
passing test for NH-2404 (was fixed fixing a similar case few days ago)
Modified Paths:
--------------
trunk/nhibernate/src/NHibernate.Test/NHibernate.Test.csproj
Added Paths:
-----------
trunk/nhibernate/src/NHibernate.Test/NHSpecificTest/NH2404/
trunk/nhibernate/src/NHibernate.Test/NHSpecificTest/NH2404/Fixture.cs
trunk/nhibernate/src/NHibernate.Test/NHSpecificTest/NH2404/Mappings.hbm.xml
trunk/nhibernate/src/NHibernate.Test/NHSpecificTest/NH2404/TestEntity.cs
trunk/nhibernate/src/NHibernate.Test/NHSpecificTest/NH2404/TestEntityDto.cs
Added: trunk/nhibernate/src/NHibernate.Test/NHSpecificTest/NH2404/Fixture.cs
===================================================================
--- trunk/nhibernate/src/NHibernate.Test/NHSpecificTest/NH2404/Fixture.cs (rev 0)
+++ trunk/nhibernate/src/NHibernate.Test/NHSpecificTest/NH2404/Fixture.cs 2011-05-17 22:33:17 UTC (rev 5836)
@@ -0,0 +1,95 @@
+using System.Linq;
+using NHibernate.Impl;
+using NHibernate.Linq;
+using NHibernate.Transform;
+using NUnit.Framework;
+
+namespace NHibernate.Test.NHSpecificTest.NH2404
+{
+ [TestFixture]
+ public class Fixture : BugTestCase
+ {
+ protected override void OnSetUp()
+ {
+ base.OnSetUp();
+ using (var session = this.OpenSession())
+ using (var tx = session.BeginTransaction())
+ {
+ var entity = new TestEntity();
+ entity.Id = 1;
+ entity.Name = "Test Entity";
+ session.Save(entity);
+
+ var entity1 = new TestEntity();
+ entity1.Id = 2;
+ entity1.Name = "Test Entity";
+ session.Save(entity1);
+
+ tx.Commit();
+ }
+ }
+
+ protected override void OnTearDown()
+ {
+ base.OnTearDown();
+ using (ISession session = this.OpenSession())
+ {
+ string hql = "from System.Object";
+ session.Delete(hql);
+ session.Flush();
+ }
+ }
+
+ [Test]
+ public void ProjectionsShouldWorkWithLinqProviderAndFutures()
+ {
+ using (ISession session = this.OpenSession())
+ {
+ if (((SessionFactoryImpl)sessions).ConnectionProvider.Driver.SupportsMultipleQueries == false)
+ {
+ Assert.Ignore("Not applicable for dialects that do not support multiple queries");
+ }
+
+ var query1 = (
+ from entity in session.Query<TestEntity>()
+ select new TestEntityDto {EntityId = entity.Id, EntityName = entity.Name}
+ ).ToList();
+
+ Assert.AreEqual(2, query1.Count());
+
+ var query2 = (
+ from entity in session.Query<TestEntity>()
+ select new TestEntityDto { EntityId = entity.Id, EntityName = entity.Name }
+ ).ToFuture();
+
+ Assert.AreEqual(2, query2.Count());
+ }
+ }
+
+ [Test]
+ public void ProjectionsShouldWorkWithHqlAndFutures()
+ {
+ using (ISession session = this.OpenSession())
+ {
+ if (((SessionFactoryImpl)sessions).ConnectionProvider.Driver.SupportsMultipleQueries == false)
+ {
+ Assert.Ignore("Not applicable for dialects that do not support multiple queries");
+ }
+
+ var query1 =
+ session.CreateQuery("select e.Id as EntityId, e.Name as EntityName from TestEntity e").SetResultTransformer(
+ Transformers.AliasToBean(typeof (TestEntityDto)))
+ .List<TestEntityDto>();
+
+ Assert.AreEqual(2, query1.Count());
+
+ var query2 =
+ session.CreateQuery("select e.Id as EntityId, e.Name as EntityName from TestEntity e").SetResultTransformer(
+ Transformers.AliasToBean(typeof (TestEntityDto)))
+ .Future<TestEntityDto>();
+
+ Assert.AreEqual(2, query2.Count());
+ }
+ }
+ }
+}
Added: trunk/nhibernate/src/NHibernate.Test/NHSpecificTest/NH2404/Mappings.hbm.xml
===================================================================
--- trunk/nhibernate/src/NHibernate.Test/NHSpecificTest/NH2404/Mappings.hbm.xml (rev 0)
+++ trunk/nhibernate/src/NHibernate.Test/NHSpecificTest/NH2404/Mappings.hbm.xml 2011-05-17 22:33:17 UTC (rev 5836)
@@ -0,0 +1,11 @@
+<?xml version="1.0" encoding="utf-8" ?>
+<hibernate-mapping xmlns="urn:nhibernate-mapping-2.2" assembly="NHibernate.Test"
+ namespace="NHibernate.Test.NHSpecificTest.NH2404" default-access="field.camelcase"
+ default-lazy="false">
+ <class name="TestEntity">
+ <id name="Id">
+ <generator class="assigned" />
+ </id>
+ <property name="Name" />
+ </class>
+</hibernate-mapping>
Added: trunk/nhibernate/src/NHibernate.Test/NHSpecificTest/NH2404/TestEntity.cs
===================================================================
--- trunk/nhibernate/src/NHibernate.Test/NHSpecificTest/NH2404/TestEntity.cs (rev 0)
+++ trunk/nhibernate/src/NHibernate.Test/NHSpecificTest/NH2404/TestEntity.cs 2011-05-17 22:33:17 UTC (rev 5836)
@@ -0,0 +1,20 @@
+namespace NHibernate.Test.NHSpecificTest.NH2404
+{
+ public class TestEntity
+ {
+ private string name;
+ private int id;
+
+ public int Id
+ {
+ get { return id; }
+ set { id = value; }
+ }
+
+ public string Name
+ {
+ get { return name; }
+ set { name = value; }
+ }
+ }
+}
Added: trunk/nhibernate/src/NHibernate.Test/NHSpecificTest/NH2404/TestEntityDto.cs
===================================================================
--- trunk/nhibernate/src/NHibernate.Test/NHSpecificTest/NH2404/TestEntityDto.cs (rev 0)
+++ trunk/nhibernate/src/NHibernate.Test/NHSpecificTest/NH2404/TestEntityDto.cs 2011-05-17 22:33:17 UTC (rev 5836)
@@ -0,0 +1,8 @@
+namespace NHibernate.Test.NHSpecificTest.NH2404
+{
+ public class TestEntityDto
+ {
+ public int EntityId { get; set; }
+ public string EntityName { get; set; }
+ }
+}
Modified: trunk/nhibernate/src/NHibernate.Test/NHibernate.Test.csproj
===================================================================
--- trunk/nhibernate/src/NHibernate.Test/NHibernate.Test.csproj 2011-05-17 22:15:39 UTC (rev 5835)
+++ trunk/nhibernate/src/NHibernate.Test/NHibernate.Test.csproj 2011-05-17 22:33:17 UTC (rev 5836)
@@ -759,6 +759,9 @@
<Compile Include="NHSpecificTest\NH2394\Fixture.cs" />
<Compile Include="NHSpecificTest\NH2394\PhoneNumber.cs" />
<Compile Include="NHSpecificTest\NH2394\PhoneNumberUserType.cs" />
+ <Compile Include="NHSpecificTest\NH2404\Fixture.cs" />
+ <Compile Include="NHSpecificTest\NH2404\TestEntity.cs" />
+ <Compile Include="NHSpecificTest\NH2404\TestEntityDto.cs" />
<Compile Include="NHSpecificTest\NH2409\Contest.cs" />
<Compile Include="NHSpecificTest\NH2409\Fixture.cs" />
<Compile Include="NHSpecificTest\NH2409\Message.cs" />
@@ -2678,6 +2681,7 @@
<EmbeddedResource Include="NHSpecificTest\NH1291AnonExample\Mappings.hbm.xml" />
</ItemGroup>
<ItemGroup>
+ <EmbeddedResource Include="NHSpecificTest\NH2404\Mappings.hbm.xml" />
<EmbeddedResource Include="NHSpecificTest\NH2705\Mappings.hbm.xml" />
<EmbeddedResource Include="NHSpecificTest\NH2546\Mappings.hbm.xml" />
<EmbeddedResource Include="NHSpecificTest\NH2697\Mappings.hbm.xml" />
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|
|
From: <fab...@us...> - 2011-05-17 23:07:18
|
Revision: 5837
http://nhibernate.svn.sourceforge.net/nhibernate/?rev=5837&view=rev
Author: fabiomaulo
Date: 2011-05-17 23:07:11 +0000 (Tue, 17 May 2011)
Log Message:
-----------
No failing test for NH-1845
Modified Paths:
--------------
trunk/nhibernate/src/NHibernate.Test/NHibernate.Test.csproj
Added Paths:
-----------
trunk/nhibernate/src/NHibernate.Test/NHSpecificTest/NH1845/
trunk/nhibernate/src/NHibernate.Test/NHSpecificTest/NH1845/Category.cs
trunk/nhibernate/src/NHibernate.Test/NHSpecificTest/NH1845/Fixture.cs
Added: trunk/nhibernate/src/NHibernate.Test/NHSpecificTest/NH1845/Category.cs
===================================================================
--- trunk/nhibernate/src/NHibernate.Test/NHSpecificTest/NH1845/Category.cs (rev 0)
+++ trunk/nhibernate/src/NHibernate.Test/NHSpecificTest/NH1845/Category.cs 2011-05-17 23:07:11 UTC (rev 5837)
@@ -0,0 +1,53 @@
+using System.Collections.Generic;
+
+namespace NHibernate.Test.NHSpecificTest.NH1845
+{
+ public class Category
+ {
+ private readonly IList<Category> subcategories = new List<Category>();
+
+ public Category() : this("") {}
+
+ public Category(string name)
+ {
+ Name = name;
+ }
+
+ public virtual int Id { get; set; }
+
+ public virtual string Name { get; set; }
+
+ public virtual Category Parent { get; set; }
+
+ public virtual IList<Category> Subcategories
+ {
+ get { return subcategories; }
+ }
+
+ public virtual void AddSubcategory(Category subcategory)
+ {
+ subcategories.Add(subcategory);
+ subcategory.Parent = this;
+ }
+
+ public override string ToString()
+ {
+ return Name;
+ }
+
+ public override bool Equals(object obj)
+ {
+ var other = obj as Category;
+ if (other == null)
+ {
+ return false;
+ }
+ return other.Name == Name;
+ }
+
+ public override int GetHashCode()
+ {
+ return Name.GetHashCode();
+ }
+ }
+}
\ No newline at end of file
Added: trunk/nhibernate/src/NHibernate.Test/NHSpecificTest/NH1845/Fixture.cs
===================================================================
--- trunk/nhibernate/src/NHibernate.Test/NHSpecificTest/NH1845/Fixture.cs (rev 0)
+++ trunk/nhibernate/src/NHibernate.Test/NHSpecificTest/NH1845/Fixture.cs 2011-05-17 23:07:11 UTC (rev 5837)
@@ -0,0 +1,62 @@
+using NHibernate.Cfg.MappingSchema;
+using NHibernate.Mapping.ByCode;
+using NUnit.Framework;
+namespace NHibernate.Test.NHSpecificTest.NH1845
+{
+ public class Fixture: TestCaseMappingByCode
+ {
+
+ protected override HbmMapping GetMappings()
+ {
+ var mapper = new ModelMapper();
+ mapper.Class<Category>(rc =>
+ {
+ rc.Id(x=> x.Id, map=> map.Generator(Generators.Native));
+ rc.Property(x=> x.Name);
+ rc.ManyToOne(x=> x.Parent, map=> map.Column("ParentId"));
+ rc.Bag(x => x.Subcategories, map =>
+ {
+ map.Access(Accessor.NoSetter);
+ map.Key(km=> km.Column("ParentId"));
+ map.Cascade(Mapping.ByCode.Cascade.All.Include(Mapping.ByCode.Cascade.DeleteOrphans));
+ }, rel => rel.OneToMany());
+ });
+ var mappings = mapper.CompileMappingForAllExplicitAddedEntities();
+ return mappings;
+ }
+
+ [Test]
+ public void LazyLoad_Initialize_AndEvict()
+ {
+ Category category = new Category("parent");
+ category.AddSubcategory(new Category("child"));
+ SaveCategory(category);
+
+ using (ISession session = OpenSession())
+ using (ITransaction transaction = session.BeginTransaction())
+ {
+ Category loaded = session.Load<Category>(category.Id);
+ NHibernateUtil.Initialize(loaded.Subcategories[0]);
+ session.Evict(loaded);
+ transaction.Commit();
+ Assert.AreEqual("child", loaded.Subcategories[0].Name, "cannot access child");
+ }
+ using (ISession session = OpenSession())
+ using (ITransaction transaction = session.BeginTransaction())
+ {
+ session.CreateQuery("delete from Category").ExecuteUpdate();
+ transaction.Commit();
+ }
+ }
+
+ private void SaveCategory(Category category)
+ {
+ using (ISession session = OpenSession())
+ using (ITransaction transaction = session.BeginTransaction())
+ {
+ session.SaveOrUpdate(category);
+ transaction.Commit();
+ }
+ }
+ }
+}
\ No newline at end of file
Modified: trunk/nhibernate/src/NHibernate.Test/NHibernate.Test.csproj
===================================================================
--- trunk/nhibernate/src/NHibernate.Test/NHibernate.Test.csproj 2011-05-17 22:33:17 UTC (rev 5836)
+++ trunk/nhibernate/src/NHibernate.Test/NHibernate.Test.csproj 2011-05-17 23:07:11 UTC (rev 5837)
@@ -657,6 +657,8 @@
<Compile Include="NHSpecificTest\NH1836\Entity.cs" />
<Compile Include="NHSpecificTest\NH1836\EntityDTO.cs" />
<Compile Include="NHSpecificTest\NH1836\Fixture.cs" />
+ <Compile Include="NHSpecificTest\NH1845\Category.cs" />
+ <Compile Include="NHSpecificTest\NH1845\Fixture.cs" />
<Compile Include="NHSpecificTest\NH1869\Entities.cs" />
<Compile Include="NHSpecificTest\NH1869\Fixture.cs" />
<Compile Include="NHSpecificTest\NH1925\Fixture.cs" />
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|
|
From: <fab...@us...> - 2011-05-20 16:48:35
|
Revision: 5848
http://nhibernate.svn.sourceforge.net/nhibernate/?rev=5848&view=rev
Author: fabiomaulo
Date: 2011-05-20 16:48:28 +0000 (Fri, 20 May 2011)
Log Message:
-----------
Test for not fixed issue NH-2366
Modified Paths:
--------------
trunk/nhibernate/src/NHibernate.Test/NHibernate.Test.csproj
Added Paths:
-----------
trunk/nhibernate/src/NHibernate.Test/NHSpecificTest/NH2366/
trunk/nhibernate/src/NHibernate.Test/NHSpecificTest/NH2366/Fixture.cs
trunk/nhibernate/src/NHibernate.Test/NHSpecificTest/NH2366/Mappings.hbm.xml
trunk/nhibernate/src/NHibernate.Test/NHSpecificTest/NH2366/Model.cs
Added: trunk/nhibernate/src/NHibernate.Test/NHSpecificTest/NH2366/Fixture.cs
===================================================================
--- trunk/nhibernate/src/NHibernate.Test/NHSpecificTest/NH2366/Fixture.cs (rev 0)
+++ trunk/nhibernate/src/NHibernate.Test/NHSpecificTest/NH2366/Fixture.cs 2011-05-20 16:48:28 UTC (rev 5848)
@@ -0,0 +1,54 @@
+using NUnit.Framework;
+using SharpTestsEx;
+
+namespace NHibernate.Test.NHSpecificTest.NH2366
+{
+ [Ignore("Not fixed yet.")]
+ public class Fixture : BugTestCase
+ {
+ protected override void OnSetUp()
+ {
+ base.OnSetUp();
+
+ using (ISession session = OpenSession())
+ using (ITransaction transaction = session.BeginTransaction())
+ {
+ // Note: non-unique values for Value property
+ session.Save(new Two() { Id = 1, Value = "a" });
+ session.Save(new Two() { Id = 2, Value = "b" });
+ session.Save(new Two() { Id = 3, Value = "a" });
+ transaction.Commit();
+ }
+ using (ISession session = OpenSession())
+ using (ITransaction transaction = session.BeginTransaction())
+ {
+ session.Save(new One() { Id = 1, Value = "a" });
+ session.Save(new One() { Id = 2, Value = "a" });
+ transaction.Commit();
+ }
+ }
+
+ protected override void OnTearDown()
+ {
+ using (ISession session = OpenSession())
+ using (ITransaction transaction = session.BeginTransaction())
+ {
+ session.Delete("from One");
+ session.Delete("from Two");
+
+ transaction.Commit();
+ }
+
+ base.OnTearDown();
+ }
+
+ [Test]
+ public void Test()
+ {
+ using (ISession session = OpenSession())
+ {
+ session.Executing(s=> s.CreateQuery("from One").List()).NotThrows();
+ }
+ }
+ }
+}
Added: trunk/nhibernate/src/NHibernate.Test/NHSpecificTest/NH2366/Mappings.hbm.xml
===================================================================
--- trunk/nhibernate/src/NHibernate.Test/NHSpecificTest/NH2366/Mappings.hbm.xml (rev 0)
+++ trunk/nhibernate/src/NHibernate.Test/NHSpecificTest/NH2366/Mappings.hbm.xml 2011-05-20 16:48:28 UTC (rev 5848)
@@ -0,0 +1,31 @@
+<hibernate-mapping
+ xmlns="urn:nhibernate-mapping-2.2"
+ assembly="NHibernate.Test"
+ namespace="NHibernate.Test.NHSpecificTest.NH2366">
+
+ <class name="One" table="one">
+
+ <id name="Id" column="o_id_pk">
+ <generator class="assigned" />
+ </id>
+
+ <property name="Value" column="o_val" />
+
+ <set name="Twos" lazy="false">
+ <key column="t_val" property-ref="Value" not-null="false" />
+ <one-to-many class="Two" />
+ </set>
+
+ </class>
+
+ <class name="Two" table="two">
+
+ <id name="Id" column="t_id_pk">
+ <generator class="assigned" />
+ </id>
+
+ <property name="Value" column="t_val" />
+
+ </class>
+
+</hibernate-mapping>
Added: trunk/nhibernate/src/NHibernate.Test/NHSpecificTest/NH2366/Model.cs
===================================================================
--- trunk/nhibernate/src/NHibernate.Test/NHSpecificTest/NH2366/Model.cs (rev 0)
+++ trunk/nhibernate/src/NHibernate.Test/NHSpecificTest/NH2366/Model.cs 2011-05-20 16:48:28 UTC (rev 5848)
@@ -0,0 +1,56 @@
+using System;
+using Iesi.Collections.Generic;
+
+namespace NHibernate.Test.NHSpecificTest.NH2366
+{
+ public class One
+ {
+ private int id;
+ private string value;
+ private ISet<Two> twos = new HashedSet<Two>();
+
+ public virtual int Id
+ {
+ get { return id; }
+ set { id = value; }
+ }
+
+ public virtual string Value
+ {
+ get { return value; }
+ set { this.value = value; }
+ }
+
+ public virtual ISet<Two> Twos
+ {
+ get { return twos; }
+ set { twos = value; }
+ }
+
+ public One()
+ {
+ }
+ }
+
+ public class Two
+ {
+ private int id;
+ private string value;
+
+ public virtual int Id
+ {
+ get { return id; }
+ set { id = value; }
+ }
+
+ public virtual string Value
+ {
+ get { return value; }
+ set { this.value = value; }
+ }
+
+ public Two()
+ {
+ }
+ }
+}
Modified: trunk/nhibernate/src/NHibernate.Test/NHibernate.Test.csproj
===================================================================
--- trunk/nhibernate/src/NHibernate.Test/NHibernate.Test.csproj 2011-05-20 16:10:15 UTC (rev 5847)
+++ trunk/nhibernate/src/NHibernate.Test/NHibernate.Test.csproj 2011-05-20 16:48:28 UTC (rev 5848)
@@ -743,6 +743,8 @@
<Compile Include="NHSpecificTest\NH2362\Fixture.cs" />
<Compile Include="NHSpecificTest\NH2362\Product.cs" />
<Compile Include="NHSpecificTest\NH2362\Supplier.cs" />
+ <Compile Include="NHSpecificTest\NH2366\Fixture.cs" />
+ <Compile Include="NHSpecificTest\NH2366\Model.cs" />
<Compile Include="NHSpecificTest\NH2374\NH2374Fixture.cs" />
<Compile Include="NHSpecificTest\NH2378\Fixture.cs" />
<Compile Include="NHSpecificTest\NH2378\TestEntity.cs" />
@@ -2684,6 +2686,7 @@
<EmbeddedResource Include="NHSpecificTest\NH1291AnonExample\Mappings.hbm.xml" />
</ItemGroup>
<ItemGroup>
+ <EmbeddedResource Include="NHSpecificTest\NH2366\Mappings.hbm.xml" />
<EmbeddedResource Include="NHSpecificTest\NH2404\Mappings.hbm.xml" />
<EmbeddedResource Include="NHSpecificTest\NH2705\Mappings.hbm.xml" />
<EmbeddedResource Include="NHSpecificTest\NH2546\Mappings.hbm.xml" />
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|
|
From: <fab...@us...> - 2011-05-23 14:03:20
|
Revision: 5861
http://nhibernate.svn.sourceforge.net/nhibernate/?rev=5861&view=rev
Author: fabiomaulo
Date: 2011-05-23 14:03:12 +0000 (Mon, 23 May 2011)
Log Message:
-----------
Test for NH-2317 Not fixed
Modified Paths:
--------------
trunk/nhibernate/src/NHibernate.Test/NHibernate.Test.csproj
Added Paths:
-----------
trunk/nhibernate/src/NHibernate.Test/NHSpecificTest/NH2317/
trunk/nhibernate/src/NHibernate.Test/NHSpecificTest/NH2317/Domain.cs
trunk/nhibernate/src/NHibernate.Test/NHSpecificTest/NH2317/Fixture.cs
trunk/nhibernate/src/NHibernate.Test/NHSpecificTest/NH2317/Mappings.hbm.xml
Added: trunk/nhibernate/src/NHibernate.Test/NHSpecificTest/NH2317/Domain.cs
===================================================================
--- trunk/nhibernate/src/NHibernate.Test/NHSpecificTest/NH2317/Domain.cs (rev 0)
+++ trunk/nhibernate/src/NHibernate.Test/NHSpecificTest/NH2317/Domain.cs 2011-05-23 14:03:12 UTC (rev 5861)
@@ -0,0 +1,8 @@
+namespace NHibernate.Test.NHSpecificTest.NH2317
+{
+ public class Artist
+ {
+ public virtual int Id { get; set; }
+ public virtual string Name { get; set; }
+ }
+}
\ No newline at end of file
Added: trunk/nhibernate/src/NHibernate.Test/NHSpecificTest/NH2317/Fixture.cs
===================================================================
--- trunk/nhibernate/src/NHibernate.Test/NHSpecificTest/NH2317/Fixture.cs (rev 0)
+++ trunk/nhibernate/src/NHibernate.Test/NHSpecificTest/NH2317/Fixture.cs 2011-05-23 14:03:12 UTC (rev 5861)
@@ -0,0 +1,48 @@
+using System.Linq;
+using NHibernate.Linq;
+using NUnit.Framework;
+using SharpTestsEx;
+
+namespace NHibernate.Test.NHSpecificTest.NH2317
+{
+ [TestFixture, Ignore("Not fixed yet.")]
+ public class Fixture : BugTestCase
+ {
+ protected override void OnSetUp()
+ {
+ base.OnSetUp();
+ using (var session = sessions.OpenStatelessSession())
+ using (var tx = session.BeginTransaction())
+ {
+ foreach (var artistName in new[] { "Foo", "Bar", "Baz", "Soz", "Tiz", "Fez" })
+ {
+ session.Insert(new Artist { Name = artistName });
+ }
+ tx.Commit();
+ }
+ }
+
+ [Test]
+ public void QueryShouldWork()
+ {
+ using (var session = sessions.OpenSession())
+ using(session.BeginTransaction())
+ {
+ var expected = session.CreateQuery("select a.id from Artist a").SetMaxResults(3).List<int>();
+ var actual = session.Query<Artist>().Take(3).Select(a => a.Id).ToArray();
+ actual.Should().Have.SameValuesAs(expected);
+ }
+ }
+
+ protected override void OnTearDown()
+ {
+ using(var session = sessions.OpenStatelessSession())
+ using (var tx = session.BeginTransaction())
+ {
+ session.CreateQuery("delete Artist").ExecuteUpdate();
+ tx.Commit();
+ }
+ base.OnTearDown();
+ }
+ }
+}
\ No newline at end of file
Added: trunk/nhibernate/src/NHibernate.Test/NHSpecificTest/NH2317/Mappings.hbm.xml
===================================================================
--- trunk/nhibernate/src/NHibernate.Test/NHSpecificTest/NH2317/Mappings.hbm.xml (rev 0)
+++ trunk/nhibernate/src/NHibernate.Test/NHSpecificTest/NH2317/Mappings.hbm.xml 2011-05-23 14:03:12 UTC (rev 5861)
@@ -0,0 +1,12 @@
+<?xml version="1.0" encoding="utf-8" ?>
+<hibernate-mapping xmlns="urn:nhibernate-mapping-2.2"
+ assembly="NHibernate.Test"
+ namespace="NHibernate.Test.NHSpecificTest.NH2317">
+
+ <class name="Artist">
+ <id name="Id" type="int">
+ <generator class="hilo"/>
+ </id>
+ <property name="Name" />
+ </class>
+ </hibernate-mapping>
\ No newline at end of file
Modified: trunk/nhibernate/src/NHibernate.Test/NHibernate.Test.csproj
===================================================================
--- trunk/nhibernate/src/NHibernate.Test/NHibernate.Test.csproj 2011-05-23 12:59:32 UTC (rev 5860)
+++ trunk/nhibernate/src/NHibernate.Test/NHibernate.Test.csproj 2011-05-23 14:03:12 UTC (rev 5861)
@@ -723,6 +723,8 @@
<Compile Include="NHSpecificTest\NH2303\Model.cs" />
<Compile Include="NHSpecificTest\NH2313\Domain.cs" />
<Compile Include="NHSpecificTest\NH2313\Fixture.cs" />
+ <Compile Include="NHSpecificTest\NH2317\Domain.cs" />
+ <Compile Include="NHSpecificTest\NH2317\Fixture.cs" />
<Compile Include="NHSpecificTest\NH2322\Fixture.cs" />
<Compile Include="NHSpecificTest\NH2322\Model.cs" />
<Compile Include="NHSpecificTest\NH2322\PostUpdateEventListener.cs" />
@@ -2688,6 +2690,7 @@
<EmbeddedResource Include="NHSpecificTest\NH1291AnonExample\Mappings.hbm.xml" />
</ItemGroup>
<ItemGroup>
+ <EmbeddedResource Include="NHSpecificTest\NH2317\Mappings.hbm.xml" />
<EmbeddedResource Include="NHSpecificTest\NH2366\Mappings.hbm.xml" />
<EmbeddedResource Include="NHSpecificTest\NH2404\Mappings.hbm.xml" />
<EmbeddedResource Include="NHSpecificTest\NH2705\Mappings.hbm.xml" />
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|
|
From: <fab...@us...> - 2011-05-23 20:10:48
|
Revision: 5865
http://nhibernate.svn.sourceforge.net/nhibernate/?rev=5865&view=rev
Author: fabiomaulo
Date: 2011-05-23 20:10:41 +0000 (Mon, 23 May 2011)
Log Message:
-----------
Not fixed test fro NH-2477
Modified Paths:
--------------
trunk/nhibernate/src/NHibernate.Test/NHibernate.Test.csproj
Added Paths:
-----------
trunk/nhibernate/src/NHibernate.Test/NHSpecificTest/NH2477/
trunk/nhibernate/src/NHibernate.Test/NHSpecificTest/NH2477/Fixture.cs
Added: trunk/nhibernate/src/NHibernate.Test/NHSpecificTest/NH2477/Fixture.cs
===================================================================
--- trunk/nhibernate/src/NHibernate.Test/NHSpecificTest/NH2477/Fixture.cs (rev 0)
+++ trunk/nhibernate/src/NHibernate.Test/NHSpecificTest/NH2477/Fixture.cs 2011-05-23 20:10:41 UTC (rev 5865)
@@ -0,0 +1,72 @@
+using System;
+using System.Linq.Dynamic;
+using NHibernate.Cfg.MappingSchema;
+using NHibernate.Linq;
+using NHibernate.Mapping.ByCode;
+using NUnit.Framework;
+using SharpTestsEx;
+
+namespace NHibernate.Test.NHSpecificTest.NH2477
+{
+ public class Something
+ {
+ public virtual int Id { get; set; }
+ public virtual string Name { get; set; }
+ }
+
+ [TestFixture, Ignore("Not fixed yet.")]
+ public class Fixture: TestCaseMappingByCode
+ {
+ protected override HbmMapping GetMappings()
+ {
+ var mapper = new ConventionModelMapper();
+ mapper.BeforeMapClass += (t, mi, map)=> map.Id(idm=> idm.Generator(Generators.Native));
+ return mapper.CompileMappingFor(new[] { typeof(Something) });
+ }
+
+ private class Scenario : IDisposable
+ {
+ private readonly ISessionFactory factory;
+
+ public Scenario(ISessionFactory factory)
+ {
+ this.factory = factory;
+ using (var session = factory.OpenSession())
+ using (session.BeginTransaction())
+ {
+ for (int i = 0; i < 5; i++)
+ {
+ session.Persist(new Something { Name = i.ToString() });
+ }
+ session.Transaction.Commit();
+ }
+ }
+
+ public void Dispose()
+ {
+ using (var session = factory.OpenSession())
+ using (session.BeginTransaction())
+ {
+ session.CreateQuery("delete from Something").ExecuteUpdate();
+ session.Transaction.Commit();
+ }
+ }
+ }
+
+ [Test]
+ public void WhenTakeBeforeCountShouldApplyTake()
+ {
+ using (new Scenario(Sfi))
+ {
+ using (var session = sessions.OpenSession())
+ using (session.BeginTransaction())
+ {
+ // This is another case where we have to work with subqueries and we have to write a specific query rewriter for Skip/Take instead flat the query in QueryReferenceExpressionFlattener
+ //var actual = session.CreateQuery("select count(s) from Something s where s in (from Something take 3)").UniqueResult<long>();
+ var actual = session.Query<Something>().Take(3).Count();
+ actual.Should().Be(3);
+ }
+ }
+ }
+ }
+}
\ No newline at end of file
Modified: trunk/nhibernate/src/NHibernate.Test/NHibernate.Test.csproj
===================================================================
--- trunk/nhibernate/src/NHibernate.Test/NHibernate.Test.csproj 2011-05-23 19:10:23 UTC (rev 5864)
+++ trunk/nhibernate/src/NHibernate.Test/NHibernate.Test.csproj 2011-05-23 20:10:41 UTC (rev 5865)
@@ -793,6 +793,7 @@
<Compile Include="NHSpecificTest\NH2470\Class1Class2Tests.cs" />
<Compile Include="NHSpecificTest\NH2470\DomainObject.cs" />
<Compile Include="NHSpecificTest\NH2470\DTO.cs" />
+ <Compile Include="NHSpecificTest\NH2477\Fixture.cs" />
<Compile Include="NHSpecificTest\NH2484\Fixture.cs" />
<Compile Include="NHSpecificTest\NH2484\Model.cs" />
<Compile Include="NHSpecificTest\NH2488\Fixture.cs" />
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|