require 'spec_helper' describe 'Money in Words' do describe "Integers" do describe 'Male' do FIXTURES = [ [0, 'нула'], [1, 'един'], [2, 'два'], [3, 'три'], [4, 'четири'], [5, 'пет'], [6, 'шест'], [7, 'седем'], [8, 'осем'], [9, 'девет'], [10, 'десет'], [11, 'единадесет'], [12, 'дванадесет'], [13, 'тринадесет'], [14, 'четиринадесет'], [15, 'петнадесет'], [16, 'шестнадесет'], [17, 'седемнадесет'], [18, 'осемнадесет'], [19, 'деветнадесет'], [20, 'двадесет'], [22, 'двадесет и два'], [30, 'тридесет'], [60, 'шестдесет'], [66, 'шестдесет и шест'], [99, 'деветдесет и девет'], [100, 'сто'], [101, 'сто и един'], [112, 'сто и дванадесет'], [120, 'сто и двадесет'], [123, 'сто двадесет и три'], [223, 'двеста двадесет и три'], [1000, 'хиляда'], [1001, 'хиляда и един'], [1010, 'хиляда и десет'], [1011, 'хиляда и единадесет'], [1100, 'хиляда и сто'], [1101, 'хиляда сто и един'], [1111, 'хиляда сто и единадесет'], [1126, 'хиляда сто двадесет и шест'], [2000, 'две хиляди'], [2500, 'две хиляди и петстотин'], ] FIXTURES.each do |f| it "male example #{f.first} " do expect(f.first.to_words).to eq f.last end end end describe 'Female' do FIXTURES = [ [0, 'нула'], [1, 'една'], [2, 'две'], [3, 'три'], [4, 'четири'], [5, 'пет'], [6, 'шест'], [7, 'седем'], [8, 'осем'], [9, 'девет'], [10, 'десет'], [11, 'единадесет'], [12, 'дванадесет'], [13, 'тринадесет'], [14, 'четиринадесет'], [15, 'петнадесет'], [16, 'шестнадесет'], [17, 'седемнадесет'], [18, 'осемнадесет'], [19, 'деветнадесет'], [20, 'двадесет'], [22, 'двадесет и две'], [30, 'тридесет'], [60, 'шестдесет'], [66, 'шестдесет и шест'], [99, 'деветдесет и девет'], [100, 'сто'], [101, 'сто и една'], [112, 'сто и дванадесет'], [120, 'сто и двадесет'], [123, 'сто двадесет и три'], [223, 'двеста двадесет и три'], [1000, 'хиляда'], [1001, 'хиляда и една'], [1010, 'хиляда и десет'], [1011, 'хиляда и единадесет'], [1100, 'хиляда и сто'], [1101, 'хиляда сто и една'], [1111, 'хиляда сто и единадесет'], [1126, 'хиляда сто двадесет и шест'], [2000, 'две хиляди'], [2500, 'две хиляди и петстотин'], ] FIXTURES.each do |f| it "female example #{f.first} " do expect(f.first.to_words(article: :female)).to eq f.last end end end end describe "Money" do FIXTURES = [ [0, 'нула лева'], [0.5, 'нула лева и петдесет стотинки'], [1, 'един лев'], [1.2, 'един лев и двадесет стотинки'], [2.22, 'два лева и двадесет и две стотинки'], [3.99, 'три лева и деветдесет и девет стотинки'], [4.01, 'четири лева и една стотинка'], [5.11, 'пет лева и единадесет стотинки'], [2500.08, 'две хиляди и петстотин лева и осем стотинки'], ] FIXTURES.each do |f| it "example #{f.first} " do expect(f.first.to_money).to eq f.last end end it "example 3 without stotinki" do expect(3.to_money(show_zero_stotinki: false)).to eq "три лева" end it "example 3 with stotinki" do expect(3.to_money(show_zero_stotinki: true)).to eq "три лева и нула стотинки" end it "example 0.50 with leva" do expect(0.5.to_money(show_zero_leva: true)).to eq "нула лева и петдесет стотинки" end it "example 0.50 without leva" do expect(0.5.to_money(show_zero_leva: false)).to eq "петдесет стотинки" end end end