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: action_state_test.rb
    path of file: ./repos/action_state/test
    
    the code of the file until where you have to start completion: require "test_helper"
require "benchmark"

class ActionStateTest < ActiveSupport::TestCase
  test "it has a version number" do
    assert ActionState::VERSI
    
  def assert_predicate_matches_scope(model, name, *args)
    examples = model.send(name, *args).to_set
    counter_examples = (model.all.to_set - examples)

    assert examples.any?, "No examples for #{name} on #{model.name}."
    assert counter_examples.any?, "No counter examples for #{name} on #{model.name}."

    examples.each do |record|
      assert record.send("#{name}?", *args),
        "The predicate #{name} should have been true on #{record.inspect}."
    end

    counter_examples.each do |record|
      refute record.send("#{name}?", *args),
        "The predicate #{name} should have been false on #{record.inspect}."
    end
  end