Datei: NDODLL.Tests/NdoDllUnitTests/MappingAttributeTests.cs
Last Commit (d9ceda3)
1 | using NDO.Mapping; |
2 | using NDO.Mapping.Attributes; |
3 | using NUnit.Framework; |
4 | using System; |
5 | using System.Collections.Generic; |
6 | using System.Linq; |
7 | using System.Text; |
8 | using System.Threading.Tasks; |
9 | |
10 | namespace NdoDllUnitTests |
11 | { |
12 | ····class MappingAttributeTests |
13 | ····{ |
14 | ········[Test] |
15 | ········public void MappingTableAttributeWorks() |
16 | ········{ |
17 | NDOMapping mapping = NDOMapping. Create( null ) ; |
18 | ············var cls = mapping.AddStandardClass( "TestClass", "TestAssembly", null ); |
19 | ············var relation = cls.AddStandardRelation( "relField", "RefTypeName", false, "", false, false ); |
20 | ············Assert.That( "IDTestClass", Is.EqualTo( relation.ForeignKeyColumns.First().Name ) ); |
21 | ············var attr = new MappingTableAttribute(); |
22 | ············relation.RemapMappingTable( false, false, attr ); |
23 | ············Assert.That( relation.MappingTable != null ); |
24 | ············Assert.That( "relRefTypeNameTestClass", Is.EqualTo(relation.MappingTable.TableName) ); |
25 | ············Assert.That( "IDTestClass", Is.EqualTo( relation.ForeignKeyColumns.First().Name ) ); |
26 | ············Assert.That( "IDRefTypeName", Is.EqualTo( relation.MappingTable.ChildForeignKeyColumns.First().Name ) ); |
27 | |
28 | ············attr.TableName = "newTableName"; |
29 | ············relation.RemapMappingTable( false, false, attr ); |
30 | ············Assert.That( "newTableName", Is.EqualTo(relation.MappingTable.TableName) ); |
31 | ········} |
32 | |
33 | ········[Test] |
34 | ········public void RemapForeignKeyColumnsWorks() |
35 | ········{ |
36 | NDOMapping mapping = NDOMapping. Create( null ) ; |
37 | ············var cls = mapping.AddStandardClass( "TestClass", "TestAssembly", null ); |
38 | ············mapping.AddStandardClass( "RefTypeName", "TestAssembly", null ); |
39 | ············var relation = cls.AddStandardRelation( "relField", "RefTypeName", false, "", false, false ); |
40 | ············Assert.That( "IDTestClass", Is.EqualTo( relation.ForeignKeyColumns.First().Name ) ); |
41 | ············var attr = new ForeignKeyColumnAttribute() { Name = "newColumnName" }; |
42 | ············relation.RemapForeignKeyColumns( new[] { attr }, new ChildForeignKeyColumnAttribute[] { } ); |
43 | ············Assert.That( "newColumnName", Is.EqualTo( relation.ForeignKeyColumns.First().Name ) ); |
44 | ········} |
45 | |
46 | ········[Test] |
47 | ········public void RemapOidColumnsWorks() |
48 | ········{ |
49 | NDOMapping mapping = NDOMapping. Create( null ) ; |
50 | ············var cls = mapping.AddStandardClass( "TestClass", "TestAssembly", null ); |
51 | ············Assert.That( "ID", Is.EqualTo( cls.Oid.OidColumns.First().Name ) ); |
52 | ············var attr = new OidColumnAttribute() { Name = "newColumnName" }; |
53 | ············cls.Oid.RemapOidColumns( new[] { attr } ); |
54 | ············Assert.That( "newColumnName", Is.EqualTo( cls.Oid.OidColumns.First().Name ) ); |
55 | ········} |
56 | |
57 | ········[Test] |
58 | ········public void RemapColumnsWorks() |
59 | ········{ |
60 | NDOMapping mapping = NDOMapping. Create( null ) ; |
61 | ············var cls = mapping.AddStandardClass( "TestClass", "TestAssembly", null ); |
62 | ············var field = cls.AddStandardField( "test", false ); |
63 | ············Assert.That( "Test", Is.EqualTo(field.Column.Name) ); |
64 | ············var attr = new ColumnAttribute() { Size = -1, Name = "XTest" }; |
65 | ············attr.RemapColumn( field.Column ); |
66 | ············Assert.That( "XTest", Is.EqualTo(field.Column.Name) ); |
67 | ············Assert.That( field.Column.Size == -1 ); |
68 | ········} |
69 | |
70 | ········[Test] |
71 | ········public void RemapFieldsWorks() |
72 | ········{ |
73 | NDOMapping mapping = NDOMapping. Create( null ) ; |
74 | ············var cls = mapping.AddStandardClass( "TestClass", "TestAssembly", null ); |
75 | ············var field = cls.AddStandardField( "test", false ); |
76 | ············Assert.That( !field.Encrypted ); |
77 | ············var attr = new FieldAttribute() { Encrypted = true }; |
78 | ············attr.RemapField( field ); |
79 | ············Assert.That( field.Encrypted ); |
80 | ············attr = new FieldAttribute() { Encrypted = false }; |
81 | ············attr.RemapField( field ); |
82 | ············// Encrypted can only be rewritten, if the value is false |
83 | ············Assert.That( field.Encrypted ); |
84 | ········} |
85 | |
86 | ········[Test] |
87 | ········public void SetFieldValuesWorks() |
88 | ········{ |
89 | NDOMapping mapping = NDOMapping. Create( null ) ; |
90 | ············var cls = mapping.AddStandardClass( "TestClass", "TestAssembly", null ); |
91 | ············var field = cls.AddStandardField( "test", false ); |
92 | ············Assert.That( !field.Encrypted ); |
93 | ············var attr = new FieldAttribute() { Encrypted = true }; |
94 | ············attr.SetFieldValues( field ); |
95 | ············Assert.That( field.Encrypted ); |
96 | ············attr = new FieldAttribute() { Encrypted = false }; |
97 | ············attr.SetFieldValues( field ); |
98 | ············// Encrypted can be set to false |
99 | ············Assert.That( !field.Encrypted ); |
100 | ········} |
101 | |
102 | ········[Test] |
103 | ········public void OidColumnShouldntBeRemappedWithAssembyWideColumnAttribute() |
104 | ········{ |
105 | NDOMapping mapping = NDOMapping. Create( null ) ; |
106 | ············var cls = mapping.AddStandardClass( "TestClass", "TestAssembly", null ); |
107 | ············Assert.That( "ID", Is.EqualTo( cls.Oid.OidColumns.First().Name ) ); |
108 | ············var attr = new OidColumnAttribute() { Name = "newColumnName", IsAssemblyWideDefinition=true }; |
109 | ············cls.Oid.RemapOidColumns( new[] { attr } ); |
110 | ············Assert.That( "ID", Is.EqualTo( cls.Oid.OidColumns.First().Name ) ); |
111 | ········} |
112 | |
113 | ········[Test] |
114 | ········public void AssembyWideColumnAttributeOverwritesDefaultValues() |
115 | ········{ |
116 | NDOMapping mapping = NDOMapping. Create( null) ; |
117 | ············var cls = mapping.AddStandardClass("TestClass", "TestAssembly", null); |
118 | ············Assert.That(1 == cls.Oid.OidColumns.First().AutoIncrementStart); |
119 | ············var attr = new OidColumnAttribute() { Name = "newColumnName", AutoIncrementStart = 2, IsAssemblyWideDefinition = true }; |
120 | ············cls.Oid.RemapOidColumns(new[] { attr }); |
121 | ············Assert.That(2 == cls.Oid.OidColumns.First().AutoIncrementStart); |
122 | ········} |
123 | ····} |
124 | } |
125 |
New Commit (1c149c1)
1 | using NDO.Mapping; |
2 | using NDO.Mapping.Attributes; |
3 | using NUnit.Framework; |
4 | using System; |
5 | using System.Collections.Generic; |
6 | using System.Linq; |
7 | using System.Text; |
8 | using System.Threading.Tasks; |
9 | |
10 | namespace NdoDllUnitTests |
11 | { |
12 | ····class MappingAttributeTests |
13 | ····{ |
14 | ········[Test] |
15 | ········public void MappingTableAttributeWorks() |
16 | ········{ |
17 | NDOMapping mapping = new NDOMapping( null, null) ; //NDOMapping. Create( null ) ; |
18 | ············var cls = mapping.AddStandardClass( "TestClass", "TestAssembly", null ); |
19 | ············var relation = cls.AddStandardRelation( "relField", "RefTypeName", false, "", false, false ); |
20 | ············Assert.That( "IDTestClass", Is.EqualTo( relation.ForeignKeyColumns.First().Name ) ); |
21 | ············var attr = new MappingTableAttribute(); |
22 | ············relation.RemapMappingTable( false, false, attr ); |
23 | ············Assert.That( relation.MappingTable != null ); |
24 | ············Assert.That( "relRefTypeNameTestClass", Is.EqualTo(relation.MappingTable.TableName) ); |
25 | ············Assert.That( "IDTestClass", Is.EqualTo( relation.ForeignKeyColumns.First().Name ) ); |
26 | ············Assert.That( "IDRefTypeName", Is.EqualTo( relation.MappingTable.ChildForeignKeyColumns.First().Name ) ); |
27 | |
28 | ············attr.TableName = "newTableName"; |
29 | ············relation.RemapMappingTable( false, false, attr ); |
30 | ············Assert.That( "newTableName", Is.EqualTo(relation.MappingTable.TableName) ); |
31 | ········} |
32 | |
33 | ········[Test] |
34 | ········public void RemapForeignKeyColumnsWorks() |
35 | ········{ |
36 | NDOMapping mapping = new NDOMapping( null, null) ; //NDOMapping. Create( null ) ; |
37 | ············var cls = mapping.AddStandardClass( "TestClass", "TestAssembly", null ); |
38 | ············mapping.AddStandardClass( "RefTypeName", "TestAssembly", null ); |
39 | ············var relation = cls.AddStandardRelation( "relField", "RefTypeName", false, "", false, false ); |
40 | ············Assert.That( "IDTestClass", Is.EqualTo( relation.ForeignKeyColumns.First().Name ) ); |
41 | ············var attr = new ForeignKeyColumnAttribute() { Name = "newColumnName" }; |
42 | ············relation.RemapForeignKeyColumns( new[] { attr }, new ChildForeignKeyColumnAttribute[] { } ); |
43 | ············Assert.That( "newColumnName", Is.EqualTo( relation.ForeignKeyColumns.First().Name ) ); |
44 | ········} |
45 | |
46 | ········[Test] |
47 | ········public void RemapOidColumnsWorks() |
48 | ········{ |
49 | NDOMapping mapping = new NDOMapping( null, null) ; //NDOMapping. Create( null ) ; |
50 | ············var cls = mapping.AddStandardClass( "TestClass", "TestAssembly", null ); |
51 | ············Assert.That( "ID", Is.EqualTo( cls.Oid.OidColumns.First().Name ) ); |
52 | ············var attr = new OidColumnAttribute() { Name = "newColumnName" }; |
53 | ············cls.Oid.RemapOidColumns( new[] { attr } ); |
54 | ············Assert.That( "newColumnName", Is.EqualTo( cls.Oid.OidColumns.First().Name ) ); |
55 | ········} |
56 | |
57 | ········[Test] |
58 | ········public void RemapColumnsWorks() |
59 | ········{ |
60 | NDOMapping mapping = new NDOMapping( null, null) ; //NDOMapping. Create( null ) ; |
61 | ············var cls = mapping.AddStandardClass( "TestClass", "TestAssembly", null ); |
62 | ············var field = cls.AddStandardField( "test", false ); |
63 | ············Assert.That( "Test", Is.EqualTo(field.Column.Name) ); |
64 | ············var attr = new ColumnAttribute() { Size = -1, Name = "XTest" }; |
65 | ············attr.RemapColumn( field.Column ); |
66 | ············Assert.That( "XTest", Is.EqualTo(field.Column.Name) ); |
67 | ············Assert.That( field.Column.Size == -1 ); |
68 | ········} |
69 | |
70 | ········[Test] |
71 | ········public void RemapFieldsWorks() |
72 | ········{ |
73 | NDOMapping mapping = new NDOMapping( null, null) ; //NDOMapping. Create( null ) ; |
74 | ············var cls = mapping.AddStandardClass( "TestClass", "TestAssembly", null ); |
75 | ············var field = cls.AddStandardField( "test", false ); |
76 | ············Assert.That( !field.Encrypted ); |
77 | ············var attr = new FieldAttribute() { Encrypted = true }; |
78 | ············attr.RemapField( field ); |
79 | ············Assert.That( field.Encrypted ); |
80 | ············attr = new FieldAttribute() { Encrypted = false }; |
81 | ············attr.RemapField( field ); |
82 | ············// Encrypted can only be rewritten, if the value is false |
83 | ············Assert.That( field.Encrypted ); |
84 | ········} |
85 | |
86 | ········[Test] |
87 | ········public void SetFieldValuesWorks() |
88 | ········{ |
89 | NDOMapping mapping = new NDOMapping( null, null) ; //NDOMapping. Create( null ) ; |
90 | ············var cls = mapping.AddStandardClass( "TestClass", "TestAssembly", null ); |
91 | ············var field = cls.AddStandardField( "test", false ); |
92 | ············Assert.That( !field.Encrypted ); |
93 | ············var attr = new FieldAttribute() { Encrypted = true }; |
94 | ············attr.SetFieldValues( field ); |
95 | ············Assert.That( field.Encrypted ); |
96 | ············attr = new FieldAttribute() { Encrypted = false }; |
97 | ············attr.SetFieldValues( field ); |
98 | ············// Encrypted can be set to false |
99 | ············Assert.That( !field.Encrypted ); |
100 | ········} |
101 | |
102 | ········[Test] |
103 | ········public void OidColumnShouldntBeRemappedWithAssembyWideColumnAttribute() |
104 | ········{ |
105 | NDOMapping mapping = new NDOMapping( null, null) ; //NDOMapping. Create( null ) ; |
106 | ············var cls = mapping.AddStandardClass( "TestClass", "TestAssembly", null ); |
107 | ············Assert.That( "ID", Is.EqualTo( cls.Oid.OidColumns.First().Name ) ); |
108 | ············var attr = new OidColumnAttribute() { Name = "newColumnName", IsAssemblyWideDefinition=true }; |
109 | ············cls.Oid.RemapOidColumns( new[] { attr } ); |
110 | ············Assert.That( "ID", Is.EqualTo( cls.Oid.OidColumns.First().Name ) ); |
111 | ········} |
112 | |
113 | ········[Test] |
114 | ········public void AssembyWideColumnAttributeOverwritesDefaultValues() |
115 | ········{ |
116 | NDOMapping mapping = new NDOMapping( null, null) ; //NDOMapping. Create( null ) ; |
117 | ············var cls = mapping.AddStandardClass("TestClass", "TestAssembly", null); |
118 | ············Assert.That(1 == cls.Oid.OidColumns.First().AutoIncrementStart); |
119 | ············var attr = new OidColumnAttribute() { Name = "newColumnName", AutoIncrementStart = 2, IsAssemblyWideDefinition = true }; |
120 | ············cls.Oid.RemapOidColumns(new[] { attr }); |
121 | ············Assert.That(2 == cls.Oid.OidColumns.First().AutoIncrementStart); |
122 | ········} |
123 | ····} |
124 | } |
125 |