<commit_before>RSpec.shared_examples 'Option' do
  specify '#get_or_else raises exception is no block given' do
    expect do
      subject.get_or_else
    end.to raise_error(ArgumentError)
  end

  specify '#map raises exception is no block given' do
    expect do
      subject.map
    end.to raise_error(ArgumentError)
  end

  specify '#inject raises exception is no block given' do
    expect do
      subject.inject(32)
    end.to raise_error(ArgumentError)
  end

  specify '#select raises exception is no block given' do
    expect do
      subject.select
    end.to raise_error(ArgumentError)
  end

  specify '#reject raises exception is no block given' do
    expect do
      subject.reject
    end.to raise_error(ArgumentError)
  end
end<commit_msg>Specs for Option#== and Option#eql?"<commit_after>RSpec.shared_examples 'Option' do
  specify '#get_or_else raises exception is no block given' do
    expect do
      subject.get_or_else
    end.to raise_error(ArgumentError)
  end

  specify '#map raises exception is no block given' do
    expect do
      subject.map
    end.to raise_error(ArgumentError)
  end

  specify '#inject raises exception is no block given' do
    expect do
      subject.inject(32)
    end.to raise_error(ArgumentError)
  end

  specify '#select raises exception is no block given' do
    expect do
      subject.select
    end.to raise_error(ArgumentError)
  end

  specify '#reject raises exception is no block given' do
    expect do
      subject.reject
    end.to raise_error(ArgumentError)
  end

  context '#==' do
    it 'Some == Some if values matches each over' do
      expect(Some(3)).to be == Some(3)
    end

    it 'Some != Some if values does not match each over' do
      expect(Some(2)).not_to be == Some(3)
    end

    it 'Some != None' do
      expect(Some(2)).not_to be == None()
    end

    it 'None == None' do
      expect(None()).to be == None()
    end
  end

  context '#eql?' do
    it 'Some to eql Some if values matches each over' do
      expect(Some(3)).to be_eql Some(3)
    end

    it 'Some not to eql Some if values does not match each over' do
      expect(Some(2)).not_to be_eql Some(3)
    end

    it 'Some not to eql None' do
      expect(Some(2)).not_to be_eql None()
    end

    it 'None to eql None' do
      expect(None()).to be_eql None()
    end
  end
end
{'fraction_non_alphanumeric': 0.08059701492537313, 'fraction_numerical': 0.005970149253731343, 'mean_word_length': 2.7777777777777777, 'pattern_counts': {'":': 0, '<': 3, '<?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': '3610081', 'n_tokens_mistral': 739, 'n_tokens_neox': 727, 'n_words': 266}