Skip to content

Commit

Permalink
Merge pull request #36 from andre-lfa/master
Browse files Browse the repository at this point in the history
Adiciona a resolução das atividades #32 e #33
  • Loading branch information
elissonmichael authored Jun 13, 2018
2 parents 997b252 + 6a73a28 commit 0c71fb9
Show file tree
Hide file tree
Showing 3 changed files with 163 additions and 0 deletions.
54 changes: 54 additions & 0 deletions extensao_para_string/2018-1/Andre_LFA/extensao_string_spec.rb
Original file line number Diff line number Diff line change
@@ -0,0 +1,54 @@
require_relative '../../extensao_string.rb'
require 'minitest/autorun'

describe 'String' do

describe "#titleize" do

it "escreve com letra maiúscula cada palavra em uma string" do
"string de teste".titleize.must_equal "String De Teste"
end

it "funciona com strings de uma palavra" do
"string".titleize.must_equal "String"
end

it "escreve com letra maiúscula string toda em maiúsculo" do
"STRING DE TESTE".titleize.must_equal "String De Teste"
end

it "escreve com letra maiúscula strings com letras misturadas" do
"StRINg dE tEsTe".titleize.must_equal "String De Teste"
end
end

describe '#blank?' do

it "retorna true se a string é vazia" do
"".blank?.must_equal true
end

it "retorna true se a string contém apenas espaços" do
" ".blank?.must_equal true
end

it "retorna true se a string contém apenas tabs" do
# exemplo: "\t\t\t"
"\t\t\t".blank?.must_equal true
end

it "retorna true se a string contém apenas espaços e tabs" do
" \t\t\t\t \t \t \t".blank?.must_equal true
end

it "retorna false se a string contém uma letra" do
"s".blank?.must_equal false
end

it "retorna false se a string contém um número" do
"string2".blank?.must_equal false
end
end

end

46 changes: 46 additions & 0 deletions extensao_para_string/2018-1/Andre_LFA/extensao_string_test.rb
Original file line number Diff line number Diff line change
@@ -0,0 +1,46 @@
require 'minitest/autorun'
require_relative '../../extensao_string.rb'

class ExtensaoStringTest < Minitest::Test

def test_titleize_escreve_com_maiuscula_cada_palavra_em_uma_string
assert_equal "string de teste".titleize, 'String De Teste'
end

def test_titleize_escreve_com_maiuscula_strings_de_uma_palavra
assert_equal "string".titleize, 'String'
end

def test_titleize_escreve_com_maiuscula_uma_string_toda_em_maiusculo
assert_equal "STRING DE TESTE".titleize, 'String De Teste'
end

def test_titleize_escreve_com_maiuscula_uma_string_com_letras_misturadas
assert_equal "sTrIng dE tEsTe".titleize, 'String De Teste'
end

def test_blank_retorna_true_quando_a_string_e_vazia
assert_equal "".blank?, true
end

def test_blank_retorna_true_quando_a_string_contem_apenas_espacos
assert_equal " ".blank?, true
end

def test_blank_retorna_true_quando_a_string_contem_apenas_tabs
# exemplo: "\t\t\t"
assert_equal "\t\t\t".blank?, true
end

def test_blank_retorna_true_quando_a_string_contem_apenas_espacos_e_tabs
assert_equal " \t \t \t ".blank?, true
end

def test_blank_retorna_false_se_a_string_contem_uma_letra
assert_equal "a".blank?, false
end

def test_blank_retorna_false_se_a_string_contem_um_numero
assert_equal "string2".blank?, false
end
end
63 changes: 63 additions & 0 deletions modulo_para_numero/2018-1/Andre_LFA/moeda_test.rb
Original file line number Diff line number Diff line change
@@ -0,0 +1,63 @@
require 'minitest/autorun'
require_relative '../../moeda.rb'

describe 'Moeda' do

include Moeda

describe '#numero_para_moeda' do

describe 'usando valores padrões' do

it "formata corretamente um inteiro" do
numero_para_moeda(265).must_equal "R$265,00"
end

it "formata corretamente um float" do
numero_para_moeda(17.50).must_equal "R$17,50"
end

it "formata corretamente uma string" do
numero_para_moeda("845").must_equal "R$845,00"
end

it "usa delimitadores para números muito grandes" do
numero_para_moeda(76554212).must_equal "R$76.554.212,00"
end

it "não tem delimitadores para números pequenos" do
numero_para_moeda(2). must_equal "R$2,00"
end
end

describe 'usando opções customizadas' do

it 'permite a mudança da :unidade' do
numero_para_moeda(256, :unidade => "Y$").must_equal "Y$256,00"
end

it 'permite a mudança da :precisao' do
numero_para_moeda(2987, :precisao => 3).must_equal "R$2.987,000"
end

it 'esconde o separador se a :precisao é 0' do
numero_para_moeda(987, :precisao => 0).must_equal "R$987"
end

it 'permite a mudança do :delimitador' do
numero_para_moeda(58761, :delimitador => "'").must_equal "R$58'761,00"
end

it 'permite a mudança do :separador' do
numero_para_moeda(58761, :separador => "'").must_equal "R$58.761'00"
end

it 'formata corretamente usando múltiplas opções' do
numero_para_moeda(58761, :separador => "'", :delimitador => "#", :unidade => 'RU$').must_equal "RU$58#761'00"
end

end

end

end

0 comments on commit 0c71fb9

Please sign in to comment.