inflecto/spec/unit/inflecto/class_methods/ordinalize_spec.rb

52 lines
1.5 KiB
Ruby

require 'spec_helper'
describe Inflecto, '.ordinalize' do
context 'when number ends with digit 1' do
it 'adds -th suffix when number ends with 11' do
[-1011, -111, -11, 11, 111, 1011].each do |number|
Inflecto.ordinalize(number).should eq("#{number}th")
end
end
it 'adds -st suffix when number does not end with 11' do
[-1001, -101, -21, -1, 1, 21, 101, 1001].each do |number|
Inflecto.ordinalize(number).should eq("#{number}st")
end
end
end
context 'when number ends with digit 2' do
it 'adds -th suffix when number ends with 12' do
[-1012, -112, -12, 12, 112, 1012].each do |number|
Inflecto.ordinalize(number).should eq("#{number}th")
end
end
it 'adds -nd suffix when number does not end with 12' do
[-1002, -102, -22, -2, 2, 22, 102, 1002].each do |number|
Inflecto.ordinalize(number).should eq("#{number}nd")
end
end
end
context 'when number ends with digit 3' do
it 'adds -th suffix when number ends with 13' do
[-1013, -113, -13, 13, 113, 1013].each do |number|
Inflecto.ordinalize(number).should eq("#{number}th")
end
end
it 'adds -rd suffix when number does not end with 13' do
[-1003, -103, -23, -3, 3, 23, 103, 1003].each do |number|
Inflecto.ordinalize(number).should eq("#{number}rd")
end
end
end
it 'ordinalizes other numbers with -th suffix' do
[-4, 4, 5, 6, 7, 8, 9, 10, 14, 15, 16].each do |number|
Inflecto.ordinalize(number).should eq("#{number}th")
end
end
end