Sha256: 4236a431308b0fd5efb40e8868310ac8f0357c44880989eb142b8d67fa91e4da
Contents?: true
Size: 1.86 KB
Versions: 1
Compression:
Stored size: 1.86 KB
Contents
require "spec_helper" require "banktools-se" describe BankTools::SE::OCR do # http://www.bgc.se/upload/Gemensamt/Trycksaker/Manualer/BG6070.pdf section 5.2 describe ".from_number" do it "adds a mod-10 check digit" do BankTools::SE::OCR.from_number("123").should eq "1230" end it "handles integer input" do BankTools::SE::OCR.from_number(123).should eq "1230" end it "can add an optional length digit" do BankTools::SE::OCR.from_number("1234567890", length_digit: true).should eq "123456789023" end it "can pad the number" do BankTools::SE::OCR.from_number("1234567890", length_digit: true, pad: "0").should eq "1234567890037" end it "raises if resulting number is > 25 digits" do expect { BankTools::SE::OCR.from_number("1234567890123456789012345") }.to raise_error(BankTools::SE::OCR::OverlongOCR) end it "raises if input is non-numeric" do expect { BankTools::SE::OCR.from_number("garbage") }.to raise_error(BankTools::SE::OCR::MustBeNumeric) end end describe ".to_number" do it "strips the mod-10 check digit" do BankTools::SE::OCR.to_number("1230").should eq "123" end it "handles integer input" do BankTools::SE::OCR.to_number(1230).should eq "123" end it "can strip an optional length digit" do BankTools::SE::OCR.to_number("123456789023", length_digit: true).should eq "1234567890" end it "can pad the number" do BankTools::SE::OCR.to_number("1234567890037", length_digit: true, pad: "0").should eq "1234567890" end it "raises if checksum is wrong" do expect { BankTools::SE::OCR.to_number("1231") }.to raise_error(BankTools::SE::OCR::BadChecksum) end it "raises if input is non-numeric" do expect { BankTools::SE::OCR.to_number("garbage") }.to raise_error(BankTools::SE::OCR::MustBeNumeric) end end end
Version data entries
1 entries across 1 versions & 1 rubygems
Version | Path |
---|---|
banktools-se-1.0.0 | spec/ocr_spec.rb |