@@ -200,6 +200,80 @@ public void PassesIndividualSourceDataAndCombines()
200
200
list . Clear ( ) ;
201
201
Assert . AreEqual ( "sc1" , to . SourceControlData [ 1 ] . Name , "SourceControlData[1].Name" ) ;
202
202
}
203
+
204
+ [ Test ]
205
+ public void PassesIndividualSourceDataAndCombinesSingleSourceControl ( )
206
+ {
207
+ IntegrationResult from = IntegrationResultMother . CreateSuccessful ( DateTime . Now ) ;
208
+ IntegrationResult to = IntegrationResultMother . CreateSuccessful ( DateTime . Now . AddDays ( 10 ) ) ;
209
+
210
+ string scValue = null ;
211
+ List < NameValuePair > list = new List < NameValuePair > ( ) ;
212
+
213
+ list . Add ( new NameValuePair ( "name0" , "first" ) ) ;
214
+ scValue = XmlConversionUtil . ConvertObjectToXml ( list ) ;
215
+ from . SourceControlData . Add ( new NameValuePair ( "sc0" , scValue ) ) ;
216
+ list . Clear ( ) ;
217
+
218
+ List < ISourceControl > sourceControls = new List < ISourceControl > ( ) ;
219
+ sourceControls . Add ( new MockSourceControl ( ) ) ;
220
+
221
+ MultiSourceControl multiSourceControl = new MultiSourceControl ( ) ;
222
+ multiSourceControl . SourceControls = sourceControls . ToArray ( ) ;
223
+
224
+ //// EXECUTE
225
+ ArrayList returnedMods = new ArrayList ( multiSourceControl . GetModifications ( from , to ) ) ;
226
+
227
+ //// VERIFY
228
+ Assert . AreEqual ( from . SourceControlData . Count , to . SourceControlData . Count , "SourceControlData.Count" ) ;
229
+
230
+ list . Add ( new NameValuePair ( "name0" , "first" ) ) ;
231
+ Assert . AreEqual ( XmlConversionUtil . ConvertObjectToXml ( list ) , to . SourceControlData [ 0 ] . Value , "SourceControlData[0].Value" ) ;
232
+ list . Clear ( ) ;
233
+ Assert . AreEqual ( "sc0" , to . SourceControlData [ 0 ] . Name , "SourceControlData[0].Name" ) ;
234
+ }
235
+
236
+ [ Test ]
237
+ public void MigratesSingleSourceControlDataToNewFormat ( )
238
+ {
239
+ IntegrationResult from = IntegrationResultMother . CreateSuccessful ( DateTime . Now ) ;
240
+ IntegrationResult to = IntegrationResultMother . CreateSuccessful ( DateTime . Now . AddDays ( 10 ) ) ;
241
+
242
+ ArrayList mocks = new ArrayList ( ) ;
243
+ mocks . Add ( CreateModificationsSourceControlMock ( new Modification [ ] { } , from , to ) ) ;
244
+ mocks . Add ( CreateModificationsSourceControlMock ( null , from , to ) ) ;
245
+
246
+ ArrayList scList = new ArrayList ( ) ;
247
+ foreach ( DynamicMock mock in mocks )
248
+ {
249
+ scList . Add ( mock . MockInstance ) ;
250
+ }
251
+ scList . Add ( new MockSourceControl ( ) ) ;
252
+
253
+ from . SourceControlData . Add ( new NameValuePair ( "commit" , "first" ) ) ;
254
+
255
+ MultiSourceControl multiSourceControl = new MultiSourceControl ( ) ;
256
+ multiSourceControl . SourceControls = ( ISourceControl [ ] ) scList . ToArray ( typeof ( ISourceControl ) ) ;
257
+
258
+ //// EXECUTE
259
+ ArrayList returnedMods = new ArrayList ( multiSourceControl . GetModifications ( from , to ) ) ;
260
+
261
+ //// VERIFY
262
+ Assert . AreEqual ( 3 , to . SourceControlData . Count , "SourceControlData.Count" ) ;
263
+
264
+ List < NameValuePair > list = new List < NameValuePair > ( ) ;
265
+
266
+ Assert . AreEqual ( XmlConversionUtil . ConvertObjectToXml ( list ) , to . SourceControlData [ 0 ] . Value , "SourceControlData[0].Value" ) ;
267
+ Assert . AreEqual ( "sc0" , to . SourceControlData [ 0 ] . Name , "SourceControlData[0].Name" ) ;
268
+
269
+ Assert . AreEqual ( XmlConversionUtil . ConvertObjectToXml ( list ) , to . SourceControlData [ 1 ] . Value , "SourceControlData[1].Value" ) ;
270
+ Assert . AreEqual ( "sc1" , to . SourceControlData [ 1 ] . Name , "SourceControlData[1].Name" ) ;
271
+
272
+ list . Add ( new NameValuePair ( "commit" , "first" ) ) ;
273
+ Assert . AreEqual ( XmlConversionUtil . ConvertObjectToXml ( list ) , to . SourceControlData [ 2 ] . Value , "SourceControlData[2].Value" ) ;
274
+ list . Clear ( ) ;
275
+ Assert . AreEqual ( "sc2" , to . SourceControlData [ 2 ] . Name , "SourceControlData[2].Name" ) ;
276
+ }
203
277
204
278
[ Test ]
205
279
public void IfRequireChangesFromAllTrueAndAllSourceControlHasModificationsThenReturnMods ( )
0 commit comments