@@ -121,6 +121,136 @@ public void TestAsQuotedWithDottedTableWithUnquotedDatabaseAndSchema()
121121
122122 #endregion
123123
124+ #region AsQuoted (Dotted Names)
125+
126+ [ TestMethod ]
127+ public void TestAsQuotedWithDottedTableWithoutSchema ( )
128+ {
129+ // Setup
130+ var text = "[Dotted.Name]" ;
131+
132+ // Act
133+ var actual = text . AsQuoted ( true , m_dbSetting ) ;
134+ var expected = "[Dotted.Name]" ;
135+
136+ // Assert
137+ Assert . AreEqual ( expected , actual , StringComparer . Ordinal ) ;
138+ }
139+
140+ [ TestMethod ]
141+ public void TestAsQuotedWithDottedTableWithoutSchemaAndWithManyDots ( )
142+ {
143+ // Setup
144+ var text = "[Dotted.Table.Name]" ;
145+
146+ // Act
147+ var actual = text . AsQuoted ( true , m_dbSetting ) ;
148+ var expected = "[Dotted.Table.Name]" ;
149+
150+ // Assert
151+ Assert . AreEqual ( expected , actual , StringComparer . Ordinal ) ;
152+ }
153+
154+ [ TestMethod ]
155+ public void TestAsQuotedWithDottedTableWithManyDots ( )
156+ {
157+ // Setup
158+ var text = "[Schema].[Dotted.Table.Name]" ;
159+
160+ // Act
161+ var actual = text . AsQuoted ( true , m_dbSetting ) ;
162+ var expected = "[Schema].[Dotted.Table.Name]" ;
163+
164+ // Assert
165+ Assert . AreEqual ( expected , actual , StringComparer . Ordinal ) ;
166+ }
167+
168+ [ TestMethod ]
169+ public void TestAsQuotedWithDottedTableWithManyDotsAndUnquotedSchema ( )
170+ {
171+ // Setup
172+ var text = "Schema.[Dotted.Table.Name]" ;
173+
174+ // Act
175+ var actual = text . AsQuoted ( true , m_dbSetting ) ;
176+ var expected = "[Schema].[Dotted.Table.Name]" ;
177+
178+ // Assert
179+ Assert . AreEqual ( expected , actual , StringComparer . Ordinal ) ;
180+ }
181+
182+ [ TestMethod ]
183+ public void TestAsQuotedWithDottedTableWithManyDotsWithDatabase ( )
184+ {
185+ // Setup
186+ var text = "[Database].[Schema].[Dotted.Table.Name]" ;
187+
188+ // Act
189+ var actual = text . AsQuoted ( true , m_dbSetting ) ;
190+ var expected = "[Database].[Schema].[Dotted.Table.Name]" ;
191+
192+ // Assert
193+ Assert . AreEqual ( expected , actual , StringComparer . Ordinal ) ;
194+ }
195+
196+ [ TestMethod ]
197+ public void TestAsQuotedWithDottedSchema ( )
198+ {
199+ // Setup
200+ var text = "[Dotted.Schema].[Name]" ;
201+
202+ // Act
203+ var actual = text . AsQuoted ( true , m_dbSetting ) ;
204+ var expected = "[Dotted.Schema].[Name]" ;
205+
206+ // Assert
207+ Assert . AreEqual ( expected , actual , StringComparer . Ordinal ) ;
208+ }
209+
210+ [ TestMethod ]
211+ public void TestAsQuotedWithDottedSchemaAndDottedTable ( )
212+ {
213+ // Setup
214+ var text = "[Dotted.Schema].[Dotted.Name]" ;
215+
216+ // Act
217+ var actual = text . AsQuoted ( true , m_dbSetting ) ;
218+ var expected = "[Dotted.Schema].[Dotted.Name]" ;
219+
220+ // Assert
221+ Assert . AreEqual ( expected , actual , StringComparer . Ordinal ) ;
222+ }
223+
224+ [ TestMethod ]
225+ public void TestAsQuotedWithDottedTableAndUnquotedDatabaseAndSchema ( )
226+ {
227+ // Setup
228+ var text = "Database.Schema.[Dotted.Table.Name]" ;
229+
230+ // Act
231+ var actual = text . AsQuoted ( true , m_dbSetting ) ;
232+ var expected = "[Database].[Schema].[Dotted.Table.Name]" ;
233+
234+ // Assert
235+ Assert . AreEqual ( expected , actual , StringComparer . Ordinal ) ;
236+ }
237+
238+ [ TestMethod ]
239+ public void TestAsQuotedWithUnquotedDottedNameIsReadAsDatabaseSchemaAndTable ( )
240+ {
241+ // Setup
242+ var text = "dbo.Dotted.Table" ;
243+
244+ // Act
245+ var actual = text . AsQuoted ( true , m_dbSetting ) ;
246+ var expected = "[dbo].[Dotted].[Table]" ;
247+
248+ // Assert
249+ Assert . AreEqual ( expected , actual , StringComparer . Ordinal ) ;
250+ }
251+
252+ #endregion
253+
124254 #region AsUnQuoted
125255
126256 [ TestMethod ]
0 commit comments