Datei: NDODLL.Tests/NdoDllUnitTests/TransitionTests.cs
Last Commit (0549873)
1 | -- File didn't exist -- |
New Commit (e9b343b)
1 | using NDO; |
2 | using NDO.ProviderFactory; |
3 | using NUnit.Framework; |
4 | using System; |
5 | using System.Linq; |
6 | using System.Xml.Linq; |
7 | |
8 | namespace NdoDllUnitTests |
9 | { |
10 | ····[TestFixture] |
11 | |
12 | ····public class TransitionTests |
13 | ····{ |
14 | ········SchemaTransitionGenerator transitionGenerator; |
15 | |
16 | ········[SetUp] |
17 | ········public void Setup() |
18 | ········{ |
19 | ············transitionGenerator = new SchemaTransitionGenerator( NDOProviderFactory.Instance, "SqlServer", null ); |
20 | ········} |
21 | |
22 | ········XElement GetSimpleIndex() |
23 | ········{ |
24 | ············XElement column = new XElement( "Column", new XAttribute( "name", "IndexedColumn" ) ); |
25 | ············XElement createIndex = new XElement( "CreateIndex", new XAttribute( "name", "ix_MyTable" ), new XAttribute( "onTable", "MyTable" ), column ); |
26 | ············return createIndex; |
27 | ········} |
28 | |
29 | ········[Test] |
30 | ········public void CreateSimpleIndex() |
31 | ········{ |
32 | ············XElement createIndex = GetSimpleIndex(); |
33 | ············XElement schemaTransition = new XElement( "NdoSchemaTransition", createIndex ); |
34 | |
35 | ············var sql = this.transitionGenerator.Generate( schemaTransition ); |
36 | ············Assert.That( sql, Is.EqualTo( "CREATE INDEX [ix_MyTable] ON [MyTable] ([IndexedColumn])" ) ); |
37 | ········} |
38 | |
39 | ········[Test] |
40 | ········public void CreateIndexWith2Columns() |
41 | ········{ |
42 | ············XElement createIndex = GetSimpleIndex(); |
43 | ············XElement column = new XElement( "Column", new XAttribute( "name", "SecondColumn" ) ); |
44 | ············createIndex.Add( column ); |
45 | |
46 | ············XElement schemaTransition = new XElement( "NdoSchemaTransition", createIndex ); |
47 | |
48 | ············var sql = this.transitionGenerator.Generate( schemaTransition ); |
49 | ············Assert.That( sql, Is.EqualTo( "CREATE INDEX [ix_MyTable] ON [MyTable] ([IndexedColumn], [SecondColumn])" ) ); |
50 | ········} |
51 | |
52 | ········[Test] |
53 | ········public void CreateUniqueIndex() |
54 | ········{ |
55 | ············XElement createIndex = GetSimpleIndex(); |
56 | ············createIndex.Add( new XAttribute( "unique", "true" ) ); |
57 | ············XElement schemaTransition = new XElement( "NdoSchemaTransition", createIndex ); |
58 | |
59 | ············var sql = this.transitionGenerator.Generate( schemaTransition ); |
60 | ············Assert.That( sql, Is.EqualTo( "CREATE UNIQUE INDEX [ix_MyTable] ON [MyTable] ([IndexedColumn])" ) ); |
61 | ········} |
62 | |
63 | ········[Test] |
64 | ········public void CreateUniqueFulltextIndex() |
65 | ········{ |
66 | ············XElement createIndex = GetSimpleIndex(); |
67 | ············createIndex.Add( new XAttribute( "fulltext", "true" ) ); |
68 | ············XElement schemaTransition = new XElement( "NdoSchemaTransition", createIndex ); |
69 | |
70 | ············var sql = this.transitionGenerator.Generate( schemaTransition ); |
71 | ············Assert.That( sql, Is.EqualTo( "CREATE FULLTEXT INDEX [ix_MyTable] ON [MyTable] ([IndexedColumn])" ) ); |
72 | ········} |
73 | |
74 | ········[Test] |
75 | ········public void AscendingShouldBeIgnored() |
76 | ········{ |
77 | ············XElement createIndex = GetSimpleIndex(); |
78 | ············createIndex.Element( "Column" ).Add( new XAttribute( "desc", "false" ) ); |
79 | ············XElement schemaTransition = new XElement( "NdoSchemaTransition", createIndex ); |
80 | |
81 | ············var sql = this.transitionGenerator.Generate( schemaTransition ); |
82 | ············Assert.That( sql, Is.EqualTo( "CREATE INDEX [ix_MyTable] ON [MyTable] ([IndexedColumn])" ) ); |
83 | ········} |
84 | |
85 | ········[Test] |
86 | ········public void CreateDescendingColumnIndex() |
87 | ········{ |
88 | ············XElement createIndex = GetSimpleIndex(); |
89 | ············createIndex.Element( "Column" ).Add( new XAttribute( "desc", "true" ) ); |
90 | ············XElement schemaTransition = new XElement( "NdoSchemaTransition", createIndex ); |
91 | |
92 | ············var sql = this.transitionGenerator.Generate( schemaTransition ); |
93 | ············Assert.That( sql, Is.EqualTo( "CREATE INDEX [ix_MyTable] ON [MyTable] ([IndexedColumn] DESC)" ) ); |
94 | ········} |
95 | |
96 | ····} |
97 | } |
98 |