1+ using System . Linq ;
2+ using NHibernate . Id ;
3+ using NHibernate . Mapping . ByCode ;
4+ using NHibernate . Mapping . ByCode . Impl ;
5+ using NUnit . Framework ;
6+ using SharpTestsEx ;
7+
8+ namespace NHibernate . Test . MappingByCode
9+ {
10+ public class A { public int Id { get ; set ; } }
11+
12+ public class B { public int Id { get ; set ; } }
13+
14+ public class C { public int Id { get ; set ; } }
15+
16+ public class D { public int Id { get ; set ; } }
17+
18+ public class E { public int Id { get ; set ; } }
19+
20+ public class F { public int Id { get ; set ; } }
21+
22+ public class G { public int Id { get ; set ; } }
23+
24+ public class H { public int Id { get ; set ; } }
25+
26+ public class I { public int Id { get ; set ; } }
27+
28+ public class GeneratorTests
29+ {
30+ [ Test ]
31+ public void TestGenerators ( )
32+ {
33+ var mapper = new ModelMapper ( ) ;
34+
35+ mapper . Class < A > ( e => { e . Id ( c => c . Id , c => c . Generator ( Generators . Counter ) ) ; } ) ;
36+ mapper . Class < B > ( e => { e . Id ( c => c . Id , c => c . Generator ( Generators . UUIDHex ) ) ; } ) ;
37+ mapper . Class < C > ( e => { e . Id ( c => c . Id , c => c . Generator ( Generators . UUIDString ) ) ; } ) ;
38+ mapper . Class < D > ( e => { e . Id ( c => c . Id , c => c . Generator ( Generators . Increment ) ) ; } ) ;
39+ mapper . Class < E > ( e => { e . Id ( c => c . Id , c => c . Generator ( Generators . Select ) ) ; } ) ;
40+ mapper . Class < F > ( e => { e . Id ( c => c . Id , c => c . Generator ( Generators . SequenceHiLo ) ) ; } ) ;
41+ mapper . Class < G > ( e => { e . Id ( c => c . Id , c => c . Generator ( Generators . SequenceIdentity ) ) ; } ) ;
42+ mapper . Class < H > ( e => { e . Id ( c => c . Id , c => c . Generator ( Generators . Table ) ) ; } ) ;
43+ mapper . Class < I > ( e => { e . Id ( c => c . Id , c => c . Generator ( Generators . TriggerIdentity ) ) ; } ) ;
44+
45+ var hbmMapping = mapper . CompileMappingForAllExplicitlyAddedEntities ( ) ;
46+ Assert . AreEqual ( hbmMapping . RootClasses . Single ( x => x . Name == typeof ( A ) . Name ) . Id . generator . @class , Generators . Counter . Class ) ;
47+ Assert . AreEqual ( hbmMapping . RootClasses . Single ( x => x . Name == typeof ( B ) . Name ) . Id . generator . @class , Generators . UUIDHex . Class ) ;
48+ Assert . AreEqual ( hbmMapping . RootClasses . Single ( x => x . Name == typeof ( C ) . Name ) . Id . generator . @class , Generators . UUIDString . Class ) ;
49+ Assert . AreEqual ( hbmMapping . RootClasses . Single ( x => x . Name == typeof ( D ) . Name ) . Id . generator . @class , Generators . Increment . Class ) ;
50+ Assert . AreEqual ( hbmMapping . RootClasses . Single ( x => x . Name == typeof ( E ) . Name ) . Id . generator . @class , Generators . Select . Class ) ;
51+ Assert . AreEqual ( hbmMapping . RootClasses . Single ( x => x . Name == typeof ( F ) . Name ) . Id . generator . @class , Generators . SequenceHiLo . Class ) ;
52+ Assert . AreEqual ( hbmMapping . RootClasses . Single ( x => x . Name == typeof ( G ) . Name ) . Id . generator . @class , Generators . SequenceIdentity . Class ) ;
53+ Assert . AreEqual ( hbmMapping . RootClasses . Single ( x => x . Name == typeof ( H ) . Name ) . Id . generator . @class , Generators . Table . Class ) ;
54+ Assert . AreEqual ( hbmMapping . RootClasses . Single ( x => x . Name == typeof ( I ) . Name ) . Id . generator . @class , Generators . TriggerIdentity . Class ) ;
55+ }
56+ }
57+ }
0 commit comments