Sha256: e9ca63b82094d901f95b3105aac1763c7bb42ef8f8f7c88462fbe0ca7c702a89

Contents?: true

Size: 1.71 KB

Versions: 3

Compression:

Stored size: 1.71 KB

Contents

require 'spec_helper'

describe MeCab::NounParser do
  let(:nouns)  { parser.parse.nouns }

  before do
    parser << 'Rubyは、手軽なオブジェクト指向プログラミングを実現するための種々の機能を持つオブジェクト指向スクリプト言語です。本格的なオブジェクト指向言語であるSmalltalk、EiffelやC++などでは大げさに思われるような領域でのオブジェクト指向プログラミングを支援することを目的としています。もちろん通常の手続き型のプログラミングも可能です。'
    parser << 'Rubyはテキスト処理関係の能力などに優れ、Perlと同じくらい強力です。さらにシンプルな文法と、例外処理やイテレータなどの機構によって、より分かりやすいプログラミングが出来ます。'
    parser << 'まあ、簡単にいえばPerlのような手軽さで「楽しく」オブジェクト指向しようという言語です。どうぞ使ってみてください。'
    parser << 'Rubyはまつもと ゆきひろが個人で開発しているフリーソフトウェアです。'
  end

  context 'default usage' do
    let(:parser) { MeCab::NounParser.new }

    it 'should be sort' do
      expect(nouns.first[:noun]).to eq 'Ruby'
      expect(nouns.first[:count]).to eq 3
    end

    it 'should be count' do
      count = nouns.find { |noun| noun[:noun] == 'オブジェクト指向プログラミング' }.count
      expect(count).to eq 2
    end
  end

  context 'except some words' do
    let(:parser) { MeCab::NounParser.new(except: ['Ruby', 'Smalltalk']) }

    it 'should not be include' do
      expect(nouns.first[:noun]).not_to eq 'Ruby'
    end
  end
end

Version data entries

3 entries across 3 versions & 1 rubygems

Version Path
mecab-noun_parser-0.1.2 spec/mecab/noun_parser_spec.rb
mecab-noun_parser-0.1.1 spec/mecab/noun_parser_spec.rb
mecab-noun_parser-0.1.0 spec/mecab/noun_parser_spec.rb