Sha256: 4b2529a803327f4e2ca25933847496a1699f5a73d1d8b3c47754a585165de83b

Contents?: true

Size: 1.19 KB

Versions: 6

Compression:

Stored size: 1.19 KB

Contents

require "spec_helper"

describe Jan::Parser do
  let(:code){ "1234567890123" }

  describe ".check_digit(code)" do
    it "should return last digit" do
      actual = Jan::Parser.check_digit(code)
      expect(actual).to eq(3)
    end
  end

  describe ".body(code)" do
    it "should return string except last digit" do
      actual = Jan::Parser.body(code)
      expect(actual).to eq("123456789012")
    end
  end

  describe ".even_digits(code)" do
    it "should return digits in even number-th position" do
      actual = Jan::Parser.even_digits(code)
      expect(actual).to eq([2,4,6,8,0,2])
    end
  end

  describe ".odd_digits(code)" do
    it "should return digits in odd number-th position except check_digit" do
      actual = Jan::Parser.odd_digits(code)
      expect(actual).to eq([1,3,5,7,9,1])
    end
  end

  describe ".instore_code?(code)" do
    context "instore code" do
      it "should be true" do
        actual = Jan::Parser.instore_code?("2101085089347")
        expect(actual).to be true
      end
    end

    context "global code" do
      it "should be false" do
        actual = Jan::Parser.instore_code?("4901085089347")
        expect(actual).to be false
      end
    end
  end
end

Version data entries

6 entries across 6 versions & 1 rubygems

Version Path
jan-0.1.0 spec/jan/parser_spec.rb
jan-0.0.5 spec/jan/parser_spec.rb
jan-0.0.4 spec/jan/parser_spec.rb
jan-0.0.3 spec/jan/parser_spec.rb
jan-0.0.2 spec/jan/parser_spec.rb
jan-0.0.1 spec/jan/parser_spec.rb