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