<commit_before># coding: utf-8

require 'spec_helper'

module ActiveInteraction
  class ATestFilter < ActiveInteraction::Filter; end
end
class ATestFilter < ActiveInteraction::Filter; end

describe ActiveInteraction::Filter, :filter do
  include_context 'filters'

  describe '#database_column_type' do
    it 'returns `:string`' do
      expect(subject.database_column_type).to eql :string
    end
  end

  context ActiveInteraction::ATestFilter do
    it_behaves_like 'a filter'

    let(:described_class) { ActiveInteraction::ATestFilter }

    describe '.slug' do
      it 'returns a slug representing the class' do
        expect(described_class.slug).to eql :a_test
      end
    end
  end
<commit_msg>Make modularized test filter abstract<commit_after># coding: utf-8

require 'spec_helper'

module ActiveInteraction
  class AbstractTestFilter < ActiveInteraction::Filter; end
end
class ATestFilter < ActiveInteraction::Filter; end

describe ActiveInteraction::Filter, :filter do
  include_context 'filters'

  describe '#database_column_type' do
    it 'returns `:string`' do
      expect(subject.database_column_type).to eql :string
    end
  end

  context ActiveInteraction::AbstractTestFilter do
    it_behaves_like 'a filter'

    let(:described_class) { ActiveInteraction::AbstractTestFilter }

    describe '.slug' do
      it 'returns a slug representing the class' do
        expect(described_class.slug).to eql :abstract_test
      end
    end
  end

{'fraction_non_alphanumeric': 0.07629427792915532, 'fraction_numerical': 0.0013623978201634877, 'mean_word_length': 4.227758007117438, 'pattern_counts': {'":': 0, '<': 7, '<?xml version=': 0, '>': 3, 'https://': 0, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 0, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'dir': 'git-commits-cleaned', 'id': '4026897', 'n_tokens_mistral': 441, 'n_tokens_neox': 425, 'n_words': 122}