Datei: NdoDllUnitTests/MappingAttributeTests.cs
Last Commit (c39bd40)
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.AreEqual( "IDTestClass", relation.ForeignKeyColumns.First().Name ); |
21 | ············var attr = new MappingTableAttribute(); |
22 | ············relation.RemapMappingTable( false, false, attr ); |
23 | ············Assert.That( relation.MappingTable != null ); |
24 | ············Assert.AreEqual( "relRefTypeNameTestClass", relation.MappingTable.TableName ); |
25 | ············Assert.AreEqual( "IDTestClass", relation.ForeignKeyColumns.First().Name ); |
26 | ············Assert.AreEqual( "IDRefTypeName", relation.MappingTable.ChildForeignKeyColumns.First().Name ); |
27 | |
28 | ············attr.TableName = "newTableName"; |
29 | ············relation.RemapMappingTable( false, false, attr ); |
30 | ············Assert.AreEqual( "newTableName", 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.AreEqual( "IDTestClass", relation.ForeignKeyColumns.First().Name ); |
41 | ············var attr = new ForeignKeyColumnAttribute() { Name = "newColumnName" }; |
42 | ············relation.RemapForeignKeyColumns( new[] { attr }, new ChildForeignKeyColumnAttribute[] { } ); |
43 | ············Assert.AreEqual( "newColumnName", 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.AreEqual( "ID", cls.Oid.OidColumns.First().Name ); |
52 | ············var attr = new OidColumnAttribute() { Name = "newColumnName" }; |
53 | ············cls.Oid.RemapOidColumns( new[] { attr } ); |
54 | ············Assert.AreEqual( "newColumnName", cls.Oid.OidColumns.First().Name ); |
55 | ········} |
56 | |
57 | ········[Test] |
58 | ········public void OidColumnShouldntBeRemappedWithAssembyWideColumnAttribute() |
59 | ········{ |
60 | ············NDOMapping mapping = NDOMapping.Create( null ); |
61 | ············var cls = mapping.AddStandardClass( "TestClass", "TestAssembly", null ); |
62 | ············Assert.AreEqual( "ID", cls.Oid.OidColumns.First().Name ); |
63 | ············var attr = new OidColumnAttribute() { Name = "newColumnName", IsAssemblyWideDefinition=true }; |
64 | ············cls.Oid.RemapOidColumns( new[] { attr } ); |
65 | ············Assert.AreEqual( "ID", cls.Oid.OidColumns.First().Name ); |
66 | ········} |
67 | |
68 | ········[Test] |
69 | ········public void AssembyWideColumnAttributeOverwritesDefaultValues() |
70 | ········{ |
71 | ············NDOMapping mapping = NDOMapping.Create(null); |
72 | ············var cls = mapping.AddStandardClass("TestClass", "TestAssembly", null); |
73 | ············Assert.AreEqual(1, cls.Oid.OidColumns.First().AutoIncrementStart); |
74 | ············var attr = new OidColumnAttribute() { Name = "newColumnName", AutoIncrementStart = 2, IsAssemblyWideDefinition = true }; |
75 | ············cls.Oid.RemapOidColumns(new[] { attr }); |
76 | ············Assert.AreEqual(2, cls.Oid.OidColumns.First().AutoIncrementStart); |
77 | ········} |
78 | ····} |
79 | } |
80 |
New Commit (dff5303)
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.AreEqual( "IDTestClass", relation.ForeignKeyColumns.First().Name ); |
21 | ············var attr = new MappingTableAttribute(); |
22 | ············relation.RemapMappingTable( false, false, attr ); |
23 | ············Assert.That( relation.MappingTable != null ); |
24 | ············Assert.AreEqual( "relRefTypeNameTestClass", relation.MappingTable.TableName ); |
25 | ············Assert.AreEqual( "IDTestClass", relation.ForeignKeyColumns.First().Name ); |
26 | ············Assert.AreEqual( "IDRefTypeName", relation.MappingTable.ChildForeignKeyColumns.First().Name ); |
27 | |
28 | ············attr.TableName = "newTableName"; |
29 | ············relation.RemapMappingTable( false, false, attr ); |
30 | ············Assert.AreEqual( "newTableName", 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.AreEqual( "IDTestClass", relation.ForeignKeyColumns.First().Name ); |
41 | ············var attr = new ForeignKeyColumnAttribute() { Name = "newColumnName" }; |
42 | ············relation.RemapForeignKeyColumns( new[] { attr }, new ChildForeignKeyColumnAttribute[] { } ); |
43 | ············Assert.AreEqual( "newColumnName", 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.AreEqual( "ID", cls.Oid.OidColumns.First().Name ); |
52 | ············var attr = new OidColumnAttribute() { Name = "newColumnName" }; |
53 | ············cls.Oid.RemapOidColumns( new[] { attr } ); |
54 | ············Assert.AreEqual( "newColumnName", 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.AreEqual( "Test", field.Column.Name ); |
64 | ············var attr = new ColumnAttribute() { Size = -1, Name = "XTest" }; |
65 | ············attr.RemapColumn( field.Column ); |
66 | ············Assert.AreEqual( "XTest", field.Column.Name ); |
67 | ············Assert.AreEqual( -1, field.Column.Size ); |
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.AreEqual( false, field.Encrypted ); |
77 | ············var attr = new FieldAttribute() { Encrypted = true }; |
78 | ············attr.RemapField( field ); |
79 | ············Assert.AreEqual( true, 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.AreEqual( true, 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.AreEqual( false, field.Encrypted ); |
93 | ············var attr = new FieldAttribute() { Encrypted = true }; |
94 | ············attr.SetFieldValues( field ); |
95 | ············Assert.AreEqual( true, field.Encrypted ); |
96 | ············attr = new FieldAttribute() { Encrypted = false }; |
97 | ············attr.SetFieldValues( field ); |
98 | ············// Encrypted can be set to false |
99 | ············Assert.AreEqual( false, 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.AreEqual( "ID", cls.Oid.OidColumns.First().Name ); |
108 | ············var attr = new OidColumnAttribute() { Name = "newColumnName", IsAssemblyWideDefinition=true }; |
109 | ············cls.Oid.RemapOidColumns( new[] { attr } ); |
110 | ············Assert.AreEqual( "ID", 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.AreEqual(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.AreEqual(2, cls.Oid.OidColumns.First().AutoIncrementStart); |
122 | ········} |
123 | ····} |
124 | } |
125 |