//JAVA TO C# CONVERTER TODO TASK: Most Java annotations will not have direct .NET equivalent attributes:
//ORIGINAL LINE: @Test void shouldMoveToStreamingOnRun_succ() throws Throwable
//JAVA TO C# CONVERTER WARNING: Method 'throws' clauses are not available in C#:
        internal virtual void ShouldMoveToStreamingOnRunSucc()
        {
            // Given
            BoltStateMachineV3 machine = BoltStateMachineInTxReadyState;

            // When
            BoltResponseRecorder recorder = new BoltResponseRecorder();

            machine.Process(new RunMessage("CREATE (n {k:'k'}) RETURN n.k", EmptyParams), recorder);

            // Then
            RecordedBoltResponse response = recorder.NextResponse();

            assertTrue(response.HasMetadata("fields"));
            assertTrue(response.HasMetadata("t_first"));
            assertThat(machine.State(), instanceOf(typeof(TransactionStreamingState)));
        }
//JAVA TO C# CONVERTER TODO TASK: Most Java annotations will not have direct .NET equivalent attributes:
//ORIGINAL LINE: @Test void shouldMoveFromTxStreamingToTxReadyOnPullAll_succ() throws Throwable
//JAVA TO C# CONVERTER WARNING: Method 'throws' clauses are not available in C#:
        internal virtual void ShouldMoveFromTxStreamingToTxReadyOnPullAllSucc()
        {
            // Given
            BoltStateMachineV3 machine = BoltStateMachineInTxStreamingState;

            // When
            BoltResponseRecorder recorder = new BoltResponseRecorder();

            machine.Process(PullAllMessage.INSTANCE, recorder);

            // Then
            RecordedBoltResponse response = recorder.NextResponse();

            assertThat(response, succeeded());
            assertTrue(response.HasMetadata("type"));
            assertTrue(response.HasMetadata("t_last"));
            assertFalse(response.HasMetadata("bookmark"));
            assertThat(machine.State(), instanceOf(typeof(TransactionReadyState)));
        }
//JAVA TO C# CONVERTER TODO TASK: Most Java annotations will not have direct .NET equivalent attributes:
//ORIGINAL LINE: @Test void shouldMoveToReadyOnCommit_succ() throws Throwable
//JAVA TO C# CONVERTER WARNING: Method 'throws' clauses are not available in C#:
        internal virtual void ShouldMoveToReadyOnCommitSucc()
        {
            BoltStateMachineV3 machine = BoltStateMachineInTxReadyState;

            // When
            BoltResponseRecorder recorder = new BoltResponseRecorder();

            machine.Process(COMMIT_MESSAGE, recorder);

            // Then
            RecordedBoltResponse response = recorder.NextResponse();

            assertThat(response, succeeded());
            assertTrue(response.HasMetadata("bookmark"));
            assertThat(machine.State(), instanceOf(typeof(ReadyState)));
        }