You are an expert in writing code in many different languages. Your goal is to perform code completion for the following code, keeping in mind the rest of the code and the file meta data.
    Metadata details:
    filename: tracing_test.rb
    path of file: ./repos/newrelic-ruby-agent/test/new_relic/agent/transaction
    
    the code of the file until where you have to start completion: # This file is distributed under New Relic's license terms.
# See https://github.com/newrelic/newrelic-ruby-agent/blob/main/LICENSE for complete details.
# frozen_string_literal: true

require_relative '../../../test_helper'
require 'new_relic/agent/transaction'

module NewRelic
  module Agent
    class Transaction
      class TracingTest < Minitest::Test
        def setup
          nr_freeze_process_time
          NewRelic::Agent.drop_buffered_data
        end

        def teardown
          nr_unfreeze_process_time
          NewRelic::Agent.drop_buffered_data
        end

        def test_segment_bound_to
    
        def test_segments_over_limit_still_record_metrics
          with_config(:'transaction_tracer.limit_segments' => 2) do
            segment_a, segment_b, segment_c = nil, nil, nil
            in_transaction do
              advance_process_time(1)
              segment_a = NewRelic::Agent::Tracer.start_segment(name: 'metric_a')
              advance_process_time(2)
              segment_b = NewRelic::Agent::Tracer.start_segment(name: 'metric_b')
              advance_process_time(3)
              segment_c = NewRelic::Agent::Tracer.start_segment(name: 'metric_c')
              advance_process_time(4)
              segment_c.finish
              segment_b.finish
              segment_a.finish
            end

            assert_metrics_recorded %w[metric_a metric_b metric_c]
          end
        end