Skip to content

Instantly share code, notes, and snippets.

@radarek
Created July 4, 2014 16:51
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save radarek/480fecd791aff7ff0af9 to your computer and use it in GitHub Desktop.
Save radarek/480fecd791aff7ff0af9 to your computer and use it in GitHub Desktop.
[spoj] JLITOSL 1310. Liczba na słowo - specs
require "spec_helper"
describe Solver do
let(:solver) { subject }
describe "#number_to_words" do
it "converts given number to its words representation" do
expect(solver.number_to_words(0)).to eq "zero"
expect(solver.number_to_words(1)).to eq "jeden"
expect(solver.number_to_words(2)).to eq "dwa"
expect(solver.number_to_words(3)).to eq "trzy"
expect(solver.number_to_words(4)).to eq "cztery"
expect(solver.number_to_words(5)).to eq "piec"
expect(solver.number_to_words(6)).to eq "szesc"
expect(solver.number_to_words(7)).to eq "siedem"
expect(solver.number_to_words(8)).to eq "osiem"
expect(solver.number_to_words(9)).to eq "dziewiec"
expect(solver.number_to_words(10)).to eq "dziesiec"
expect(solver.number_to_words(30)).to eq "trzydziesci"
expect(solver.number_to_words(40)).to eq "czterdziesci"
expect(solver.number_to_words(50)).to eq "piecdziesiat"
expect(solver.number_to_words(60)).to eq "szescdziesiat"
expect(solver.number_to_words(70)).to eq "siedemdziesiat"
expect(solver.number_to_words(80)).to eq "osiemdziesiat"
expect(solver.number_to_words(90)).to eq "dziewiecdziesiat"
expect(solver.number_to_words(11)).to eq "jedenascie"
expect(solver.number_to_words(12)).to eq "dwanascie"
expect(solver.number_to_words(13)).to eq "trzynascie"
expect(solver.number_to_words(14)).to eq "czternascie"
expect(solver.number_to_words(15)).to eq "pietnascie"
expect(solver.number_to_words(16)).to eq "szesnascie"
expect(solver.number_to_words(17)).to eq "siedemnascie"
expect(solver.number_to_words(18)).to eq "osiemnascie"
expect(solver.number_to_words(19)).to eq "dziewietnascie"
expect(solver.number_to_words(20)).to eq "dwadziescia"
expect(solver.number_to_words(21)).to eq "dwadziescia jeden"
expect(solver.number_to_words(24)).to eq "dwadziescia cztery"
expect(solver.number_to_words(50)).to eq "piecdziesiat"
expect(solver.number_to_words(55)).to eq "piecdziesiat piec"
expect(solver.number_to_words(99)).to eq "dziewiecdziesiat dziewiec"
expect(solver.number_to_words(100)).to eq "sto"
expect(solver.number_to_words(200)).to eq "dwiescie"
expect(solver.number_to_words(300)).to eq "trzysta"
expect(solver.number_to_words(400)).to eq "czterysta"
expect(solver.number_to_words(500)).to eq "piecset"
expect(solver.number_to_words(600)).to eq "szescset"
expect(solver.number_to_words(700)).to eq "siedemset"
expect(solver.number_to_words(800)).to eq "osiemset"
expect(solver.number_to_words(900)).to eq "dziewiecset"
expect(solver.number_to_words(101)).to eq "sto jeden"
expect(solver.number_to_words(109)).to eq "sto dziewiec"
expect(solver.number_to_words(110)).to eq "sto dziesiec"
expect(solver.number_to_words(116)).to eq "sto szesnascie"
expect(solver.number_to_words(120)).to eq "sto dwadziescia"
expect(solver.number_to_words(124)).to eq "sto dwadziescia cztery"
expect(solver.number_to_words(156)).to eq "sto piecdziesiat szesc"
expect(solver.number_to_words(189)).to eq "sto osiemdziesiat dziewiec"
expect(solver.number_to_words(105)).to eq "sto piec"
expect(solver.number_to_words(213)).to eq "dwiescie trzynascie"
expect(solver.number_to_words(338)).to eq "trzysta trzydziesci osiem"
expect(solver.number_to_words(479)).to eq "czterysta siedemdziesiat dziewiec"
expect(solver.number_to_words(552)).to eq "piecset piecdziesiat dwa"
expect(solver.number_to_words(620)).to eq "szescset dwadziescia"
expect(solver.number_to_words(777)).to eq "siedemset siedemdziesiat siedem"
expect(solver.number_to_words(811)).to eq "osiemset jedenascie"
expect(solver.number_to_words(910)).to eq "dziewiecset dziesiec"
expect(solver.number_to_words(999)).to eq "dziewiecset dziewiecdziesiat dziewiec"
expect(solver.number_to_words(1_000)).to eq "jeden tys."
expect(solver.number_to_words(2_000)).to eq "dwa tys."
expect(solver.number_to_words(3_000)).to eq "trzy tys."
expect(solver.number_to_words(4_000)).to eq "cztery tys."
expect(solver.number_to_words(5_000)).to eq "piec tys."
expect(solver.number_to_words(6_000)).to eq "szesc tys."
expect(solver.number_to_words(7_000)).to eq "siedem tys."
expect(solver.number_to_words(8_000)).to eq "osiem tys."
expect(solver.number_to_words(9_000)).to eq "dziewiec tys."
expect(solver.number_to_words(1_001)).to eq "jeden tys. jeden"
expect(solver.number_to_words(1_013)).to eq "jeden tys. trzynascie"
expect(solver.number_to_words(1_100)).to eq "jeden tys. sto"
expect(solver.number_to_words(1_260)).to eq "jeden tys. dwiescie szescdziesiat"
expect(solver.number_to_words(1_910)).to eq "jeden tys. dziewiecset dziesiec"
expect(solver.number_to_words(10_000)).to eq "dziesiec tys."
expect(solver.number_to_words(19_000)).to eq "dziewietnascie tys."
expect(solver.number_to_words(57_000)).to eq "piecdziesiat siedem tys."
expect(solver.number_to_words(120_000)).to eq "sto dwadziescia tys."
expect(solver.number_to_words(350_000)).to eq "trzysta piecdziesiat tys."
expect(solver.number_to_words(999_000)).to eq "dziewiecset dziewiecdziesiat dziewiec tys."
expect(solver.number_to_words(120_001)).to eq "sto dwadziescia tys. jeden"
expect(solver.number_to_words(223_123)).to eq "dwiescie dwadziescia trzy tys. sto dwadziescia trzy"
expect(solver.number_to_words(300_167)).to eq "trzysta tys. sto szescdziesiat siedem"
expect(solver.number_to_words(487_987)).to eq "czterysta osiemdziesiat siedem tys. dziewiecset osiemdziesiat siedem"
expect(solver.number_to_words(910_078)).to eq "dziewiecset dziesiec tys. siedemdziesiat osiem"
expect(solver.number_to_words(1_000_000)).to eq "jeden mln."
expect(solver.number_to_words(2_000_000)).to eq "dwa mln."
expect(solver.number_to_words(3_000_000)).to eq "trzy mln."
expect(solver.number_to_words(4_000_000)).to eq "cztery mln."
expect(solver.number_to_words(5_000_000)).to eq "piec mln."
expect(solver.number_to_words(6_000_000)).to eq "szesc mln."
expect(solver.number_to_words(7_000_000)).to eq "siedem mln."
expect(solver.number_to_words(8_000_000)).to eq "osiem mln."
expect(solver.number_to_words(9_000_000)).to eq "dziewiec mln."
expect(solver.number_to_words(1_000_001)).to eq "jeden mln. jeden"
expect(solver.number_to_words(2_000_013)).to eq "dwa mln. trzynascie"
expect(solver.number_to_words(3_000_289)).to eq "trzy mln. dwiescie osiemdziesiat dziewiec"
expect(solver.number_to_words(4_009_001)).to eq "cztery mln. dziewiec tys. jeden"
expect(solver.number_to_words(5_061_644)).to eq "piec mln. szescdziesiat jeden tys. szescset czterdziesci cztery"
expect(solver.number_to_words(6_957_180)).to eq "szesc mln. dziewiecset piecdziesiat siedem tys. sto osiemdziesiat"
expect(solver.number_to_words(10_000_000)).to eq "dziesiec mln."
expect(solver.number_to_words(11_000_000)).to eq "jedenascie mln."
expect(solver.number_to_words(16_000_000)).to eq "szesnascie mln."
expect(solver.number_to_words(19_000_000)).to eq "dziewietnascie mln."
expect(solver.number_to_words(20_000_000)).to eq "dwadziescia mln."
expect(solver.number_to_words(198_789_013)).to eq "sto dziewiecdziesiat osiem mln. siedemset osiemdziesiat dziewiec tys. trzynascie"
expect(solver.number_to_words(510_111_987)).to eq "piecset dziesiec mln. sto jedenascie tys. dziewiecset osiemdziesiat siedem"
expect(solver.number_to_words(1_000_000_000)).to eq "jeden mld."
expect(solver.number_to_words(2_000_000_000)).to eq "dwa mld."
expect(solver.number_to_words(3_000_000_000)).to eq "trzy mld."
expect(solver.number_to_words(4_000_000_000)).to eq "cztery mld."
expect(solver.number_to_words(5_000_000_000)).to eq "piec mld."
expect(solver.number_to_words(6_000_000_000)).to eq "szesc mld."
expect(solver.number_to_words(7_000_000_000)).to eq "siedem mld."
expect(solver.number_to_words(8_000_000_000)).to eq "osiem mld."
expect(solver.number_to_words(9_000_000_000)).to eq "dziewiec mld."
expect(solver.number_to_words(17_000_000_000)).to eq "siedemnascie mld."
expect(solver.number_to_words(1_002_003_005)).to eq "jeden mld. dwa mln. trzy tys. piec"
expect(solver.number_to_words(568_000_000_011)).to eq "piecset szescdziesiat osiem mld. jedenascie"
expect(solver.number_to_words(987_654_321_000)).to eq "dziewiecset osiemdziesiat siedem mld. szescset piecdziesiat cztery mln. trzysta dwadziescia jeden tys."
expect(solver.number_to_words(1_000_000_000_000)).to eq "jeden bln."
expect(solver.number_to_words(8_000_000_000_000)).to eq "osiem bln."
expect(solver.number_to_words(11_000_000_000_000)).to eq "jedenascie bln."
expect(solver.number_to_words(28_000_000_000_000)).to eq "dwadziescia osiem bln."
expect(solver.number_to_words(100_000_000_000_000)).to eq "sto bln."
expect(solver.number_to_words(744_000_000_000_000)).to eq "siedemset czterdziesci cztery bln."
expect(solver.number_to_words(228_002_042_951_180)).to eq "dwiescie dwadziescia osiem bln. dwa mld. czterdziesci dwa mln. dziewiecset piecdziesiat jeden tys. sto osiemdziesiat"
end
end
end
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment