//JAVA TO C# CONVERTER TODO TASK: Most Java annotations will not have direct .NET equivalent attributes:
//ORIGINAL LINE: @Test public void shouldNotReturnAnyElementOnSupplierWithOneEmptyArray()
        public virtual void ShouldNotReturnAnyElementOnSupplierWithOneEmptyArray()
        {
            // given
            ContinuableArrayCursor cursor = new ContinuableArrayCursor(Supply(new int?[0]));

            // then
            assertFalse(cursor.next());
        }
//JAVA TO C# CONVERTER TODO TASK: Most Java annotations will not have direct .NET equivalent attributes:
//ORIGINAL LINE: @Test public void shouldMoveCursorOverSingleArray()
        public virtual void ShouldMoveCursorOverSingleArray()
        {
            // given
            int?[] array = new int?[] { 1, 2, 3 };
            ContinuableArrayCursor <int> cursor = new ContinuableArrayCursor <int>(Supply(array));

            // then
            AssertCursor(cursor, array);
        }
//JAVA TO C# CONVERTER TODO TASK: Most Java annotations will not have direct .NET equivalent attributes:
//ORIGINAL LINE: @Test public void callGetBeforeNextShouldThrowIllegalStateException()
        public virtual void CallGetBeforeNextShouldThrowIllegalStateException()
        {
            // given
//JAVA TO C# CONVERTER WARNING: Java wildcard generics have no direct equivalent in .NET:
//ORIGINAL LINE: ContinuableArrayCursor<?> cursor = new ContinuableArrayCursor(supply(new System.Nullable<int>[0]));
            ContinuableArrayCursor <object> cursor = new ContinuableArrayCursor(Supply(new int?[0]));

            // then
            Thrown.expect(typeof(System.InvalidOperationException));
            cursor.Get();
        }
 private void AssertCursor <T1>(ContinuableArrayCursor <T1> cursor, params object[][] arrays)
 {
     foreach (object[] array in arrays)
     {
         foreach (object obj in array)
         {
             assertTrue(cursor.Next());
             assertEquals(obj, cursor.Get());
         }
     }
     assertFalse(cursor.Next());
 }
//JAVA TO C# CONVERTER TODO TASK: Most Java annotations will not have direct .NET equivalent attributes:
//ORIGINAL LINE: @Test public void callGetAfterNextReturnsFalseShouldThrowIllegalStateException()
        public virtual void CallGetAfterNextReturnsFalseShouldThrowIllegalStateException()
        {
            // given
            ContinuableArrayCursor <int> cursor = new ContinuableArrayCursor <int>(Supply(new int?[0]));

            // when
            assertFalse(cursor.Next());

            // then
            Thrown.expect(typeof(System.InvalidOperationException));
            cursor.Get();
        }
//JAVA TO C# CONVERTER TODO TASK: Most Java annotations will not have direct .NET equivalent attributes:
//ORIGINAL LINE: @Test public void shouldMoveCursorOverMultipleArrays()
        public virtual void ShouldMoveCursorOverMultipleArrays()
        {
            // given
            int?[][] arrays = new int?[][]
            {
                new int?[] { 1, 2, 3 },
                new int?[] { 4, 5, 6 },
                new int?[] { 7 }
            };
            ContinuableArrayCursor <int> cursor = new ContinuableArrayCursor <int>(Supply(arrays));

            // then
            AssertCursor(cursor, arrays);
        }