bovender framework
C# framework that implements MVVM and more
ArrayExtensionsTest.cs
1 using System;
2 using System.Collections.Generic;
3 using System.Linq;
4 using System.Text;
5 using NUnit.Framework;
6 using Bovender.Extensions;
7 
8 namespace Bovender.UnitTests.Extensions
9 {
10  [TestFixture]
12  {
13  [Test]
14  public void SliceArray()
15  {
16  int[] array = new int[] { 0, 1, 2, 3, 4, 5 };
17  int[] slice = array.Slice(2, 2);
18  Assert.AreEqual(2, slice[0]);
19  }
20 
21  [Test]
22  public void SliceArrayWithInvalidParams()
23  {
24  int[] array = new int[] { 0, 1, 2, 3, 4, 5 };
25  Assert.Throws<ArgumentOutOfRangeException>(
26  () =>
27  {
28  int[] slice = array.Slice(20, 2);
29  },
30  "Index is larger than array has elements"
31  );
32  Assert.Throws<ArgumentOutOfRangeException>(
33  () =>
34  {
35  int[] slice = array.Slice(-1, 2);
36  },
37  "Index is lower than 0"
38  );
39  Assert.Throws<ArgumentOutOfRangeException>(
40  () =>
41  {
42  int[] slice = array.Slice(2, 5);
43  },
44  "Length is too large"
45  );
46  Assert.Throws<ArgumentOutOfRangeException>(
47  () =>
48  {
49  int[] slice = array.Slice(2, 0);
50  },
51  "Length is 0"
52  );
53  }
54  }
55 }