Sha256: bdfe812c2d534f97651e3fc3a29fe44fb8c6edfe8adf52bd25548ea50b0c6470

Contents?: true

Size: 1.64 KB

Versions: 2

Compression:

Stored size: 1.64 KB

Contents

#coding: utf-8
require 'test_helper'

describe Rut do
  describe "dv" do
    it "should only accept numbers" do
      assert_raises(ArgumentError) { Rut.dv "hola" }
      assert_raises(ArgumentError) { Rut.dv "1234a5678" }
    end
    describe "calculations" do
      describe "for numeric ruts" do
        it "should work with short ruts" do
          Rut.dv(1).must_equal 9
          Rut.dv(2).must_equal 7
          Rut.dv(12).must_equal 4
          Rut.dv(104).must_equal "k"
          Rut.dv(1000).must_equal 6
          Rut.dv(10000).must_equal 5
          Rut.dv(100001).must_equal 2
        end
        it "should work with large ruts" do
          Rut.dv(7956772).must_equal 8
          Rut.dv(8457638).must_equal 7
          Rut.dv(5954893).must_equal "k"
          Rut.dv(16365637).must_equal "k"
          Rut.dv(18439790).must_equal 0
          Rut.dv(11111111).must_equal 1
          Rut.dv(14569484).must_equal 1
        end
      end
      describe "for string ruts" do
        it "should work correct dvs" do
          Rut.dv("1").must_equal 9
          Rut.dv("2").must_equal 7
          Rut.dv("12").must_equal 4
          Rut.dv("104").must_equal "k"
          Rut.dv("1000").must_equal 6
          Rut.dv("10000").must_equal 5
          Rut.dv("100001").must_equal 2
        end
        it "should work with large ruts" do
          Rut.dv("7956772").must_equal 8
          Rut.dv("8457638").must_equal 7
          Rut.dv("5954893").must_equal "k"
          Rut.dv("16365637").must_equal "k"
          Rut.dv("18439790").must_equal 0
          Rut.dv("11111111").must_equal 1
          Rut.dv("14569484").must_equal 1
        end
      end
    end
  end
end

Version data entries

2 entries across 2 versions & 1 rubygems

Version Path
rutcl-1.0.0 test/unit/rut_computations_test.rb
rutcl-0.0.1 test/unit/rut_computations_test.rb