//JAVA TO C# CONVERTER TODO TASK: Most Java annotations will not have direct .NET equivalent attributes:
//ORIGINAL LINE: @Test public void shouldHandleEmptySource() throws Exception
//JAVA TO C# CONVERTER WARNING: Method 'throws' clauses are not available in C#:
        public virtual void ShouldHandleEmptySource()
        {
            // GIVEN
            TransactionCursor source = given();
            EagerlyReversedTransactionCursor cursor = new EagerlyReversedTransactionCursor(source);

            // WHEN
            CommittedTransactionRepresentation[] reversed = exhaust(cursor);

            // THEN
            assertEquals(0, reversed.Length);
        }
//JAVA TO C# CONVERTER TODO TASK: Most Java annotations will not have direct .NET equivalent attributes:
//ORIGINAL LINE: @Test public void shouldReverseTransactionsFromSource() throws Exception
//JAVA TO C# CONVERTER WARNING: Method 'throws' clauses are not available in C#:
        public virtual void ShouldReverseTransactionsFromSource()
        {
            // GIVEN
            CommittedTransactionRepresentation tx1 = mock(typeof(CommittedTransactionRepresentation));
            CommittedTransactionRepresentation tx2 = mock(typeof(CommittedTransactionRepresentation));
            CommittedTransactionRepresentation tx3 = mock(typeof(CommittedTransactionRepresentation));
            TransactionCursor source = given(tx1, tx2, tx3);
            EagerlyReversedTransactionCursor cursor = new EagerlyReversedTransactionCursor(source);

            // WHEN
            CommittedTransactionRepresentation[] reversed = exhaust(cursor);

            // THEN
            assertArrayEquals(array(tx3, tx2, tx1), reversed);
        }