-
Notifications
You must be signed in to change notification settings - Fork 40
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Merge pull request #36 from andre-lfa/master
- Loading branch information
Showing
3 changed files
with
163 additions
and
0 deletions.
There are no files selected for viewing
54 changes: 54 additions & 0 deletions
54
extensao_para_string/2018-1/Andre_LFA/extensao_string_spec.rb
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
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
46
extensao_para_string/2018-1/Andre_LFA/extensao_string_test.rb
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
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 |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
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 |