Skip to content

Commit 9168dbf

Browse files
authored
Merge pull request #6032 from tommy9/SequenceEqualsTests#5827
Sequence equals tests#5827
2 parents c78459a + ad4886f commit 9168dbf

File tree

2 files changed

+37
-0
lines changed

2 files changed

+37
-0
lines changed

Rubberduck.Main/ComClientLibrary/UnitTesting/AssertClass.cs

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -272,6 +272,7 @@ protected void TestArraySequenceEquity(Array expected, Array actual, string mess
272272
return;
273273
}
274274
AssertHandler.OnAssertSucceeded();
275+
return;
275276
}
276277

277278
for (var rank = 0; rank < expected.Rank; rank++)
@@ -287,6 +288,7 @@ protected void TestArraySequenceEquity(Array expected, Array actual, string mess
287288
return;
288289
}
289290
AssertHandler.OnAssertSucceeded();
291+
return;
290292
}
291293

292294
expectedBound = expected.GetUpperBound(rank);
@@ -300,6 +302,7 @@ protected void TestArraySequenceEquity(Array expected, Array actual, string mess
300302
return;
301303
}
302304
AssertHandler.OnAssertSucceeded();
305+
return;
303306
}
304307
}
305308

RubberduckTests/UnitTesting/AssertTests.cs

Lines changed: 34 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -345,6 +345,40 @@ public void OnAssertInconclusive_ReturnsResultInconclusive()
345345
Assert.AreEqual(TestOutcome.Inconclusive, _args.Outcome);
346346
}
347347

348+
[Category("Unit Testing")]
349+
[Test]
350+
public void NotSequenceEqualShouldSucceedWithDifferentRanks()
351+
{
352+
var assert = new AssertClass();
353+
354+
int[] lengthsArray2D = new int[2] { 2, 2 };
355+
Array myArray2D = Array.CreateInstance(typeof(Int32), lengthsArray2D);
356+
int length1Darray = 4;
357+
Array myArray1D = Array.CreateInstance(typeof(Int32), length1Darray);
358+
359+
assert.NotSequenceEquals(myArray2D, myArray1D);
360+
361+
Assert.AreEqual(TestOutcome.Succeeded, _args.Outcome);
362+
}
363+
364+
[Category("Unit Testing")]
365+
[Test]
366+
public void NotSequenceEqualShouldSucceedWithDifferentLowerBounds()
367+
{
368+
var assert = new AssertClass();
369+
370+
int[] lengthsArray1 = new int[1] { 2 };
371+
int[] boundsArray1 = new int[1] { 0 };
372+
Array arrayZeroBased = Array.CreateInstance(typeof(Int32),lengthsArray1, boundsArray1);
373+
int[] lengthsArray2 = new int[1] { 2 };
374+
int[] boundsArray2 = new int[1] { -1 };
375+
Array arrayNegative1Based = Array.CreateInstance(typeof(Int32), lengthsArray2, boundsArray2);
376+
377+
assert.NotSequenceEquals(arrayZeroBased, arrayNegative1Based);
378+
379+
Assert.AreEqual(TestOutcome.Succeeded, _args.Outcome);
380+
}
381+
348382
private static Type GetComObjectType() => Type.GetTypeFromProgID("Scripting.FileSystemObject");
349383
private object GetComObject() => Activator.CreateInstance(GetComObjectType());
350384
}

0 commit comments

Comments
 (0)