public void TestNull()
 {
     MinNumberInRotatedArray.Process(null);
 }
 public void TestEmptyArray()
 {
     MinNumberInRotatedArray.Process(new int[0]);
 }
 public void TestOnlyOneElement()
 {
     int[] array = new int[] { 1 };
     Assert.AreEqual(1, MinNumberInRotatedArray.Process(array));
 }
 public void TestSortedArray()
 {
     int[] array = new int[] { 1, 2, 3, 4, 5 };
     Assert.AreEqual(1, MinNumberInRotatedArray.Process(array));
 }
 public void TestMinIsBothStartAndEnd()
 {
     int[] array = new int[] { 1, 1, 1, 2, 1 };
     Assert.AreEqual(1, MinNumberInRotatedArray.Process(array));
 }
 public void TestStartAndEndSameNotMin()
 {
     int[] array = new int[] { 1, 0, 1, 1, 1 };
     Assert.AreEqual(0, MinNumberInRotatedArray.Process(array));
 }
 public void TestMinIsNotDuplicatedElement()
 {
     int[] array = new int[] { 3, 4, 5, 1, 2, 2 };
     Assert.AreEqual(1, MinNumberInRotatedArray.Process(array));
 }