You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
115 lines
2.7 KiB
115 lines
2.7 KiB
# encoding: UTF-8
|
|
require File.dirname(__FILE__) + '/test_helper'
|
|
require 'rubygems'
|
|
require 'active_support/all'
|
|
|
|
class FeriadoTest < Test::Unit::TestCase
|
|
|
|
ATRIBUTOS = %w(dia mes nome)
|
|
|
|
# feriado
|
|
def test_feriado_quando_feriado
|
|
assert "25/12/2007".to_date.feriado?
|
|
end
|
|
|
|
def test_feriado_quando_nao_eh_feriado
|
|
assert !"01/12/2007".to_date.feriado?
|
|
end
|
|
|
|
def test_feriado_quando_feriado_eh_pascoa
|
|
assert "08/04/2007".to_date.feriado?
|
|
end
|
|
|
|
def test_feriado_quando_feriado_eh_corpus_christi
|
|
assert "07/06/2007".to_date.feriado?
|
|
end
|
|
|
|
# feriados nacionais
|
|
def test_confraternizacao_mundial
|
|
assert "01/01/2012".to_date.feriado?
|
|
end
|
|
|
|
def test_tiradentes
|
|
assert "21/04/2012".to_date.feriado?
|
|
end
|
|
|
|
def test_trabalho
|
|
assert "01/05/2012".to_date.feriado?
|
|
end
|
|
|
|
def test_independencia
|
|
assert "07/09/2012".to_date.feriado?
|
|
end
|
|
|
|
def test_finados
|
|
assert "02/11/2012".to_date.feriado?
|
|
end
|
|
|
|
def test_republica
|
|
assert "15/11/2012".to_date.feriado?
|
|
end
|
|
|
|
def test_natal
|
|
assert "25/12/2012".to_date.feriado?
|
|
end
|
|
|
|
def test_padroeira_brasil
|
|
assert "12/10/2012".to_date.feriado?
|
|
end
|
|
|
|
# pascoa
|
|
def test_pascoa
|
|
assert_equal "08/04/2007", "01/01/2007".to_date.pascoa.to_s_br
|
|
end
|
|
|
|
# corpus_christi
|
|
def test_corpus_christi
|
|
assert_equal "07/06/2007", "01/01/2007".to_date.corpus_christi.to_s_br
|
|
end
|
|
|
|
|
|
def test_attributes
|
|
feriado = Feriado.new("nome", "01", "01")
|
|
ATRIBUTOS.each do |atributo|
|
|
assert_respond_to feriado, "#{atributo}", "Deveria existir o método #{atributo}"
|
|
assert_respond_to feriado, "#{atributo}=", "Deveria existir o método #{atributo}="
|
|
end
|
|
end
|
|
|
|
def test_initialize
|
|
feriado = Feriado.new("nome", "01", "01")
|
|
assert feriado, "deveria ter criado um feriado"
|
|
assert_equal "nome", feriado.nome
|
|
assert_equal 1, feriado.dia
|
|
assert_equal 1, feriado.mes
|
|
end
|
|
|
|
def test_initialize_com_dia_invalido
|
|
['a', 0, -1, 32, '32', '-1', '0'].each do |invalid_day|
|
|
assert_raise FeriadoDiaInvalidoError do
|
|
Feriado.new("nome", invalid_day, "01")
|
|
raise "Deveria retornar FeriadoDiaInvalidoError para dia #{invalid_day}"
|
|
end
|
|
end
|
|
end
|
|
|
|
def test_initialize_com_mes_invalido
|
|
['a', '13', 13, -1, '-1', '0'].each do |invalid_month|
|
|
assert_raise FeriadoMesInvalidoError do
|
|
Feriado.new("nome", "01", invalid_month)
|
|
raise "Deveria retornar FeriadoMesInvalidoError para mês #{invalid_month}"
|
|
end
|
|
end
|
|
end
|
|
|
|
def test_igualdade
|
|
assert_equal Feriado.new("nome", "01", "01"), Feriado.new("nome2", "01", "01")
|
|
end
|
|
|
|
def test_igualdade_quando_nao_eh_igual
|
|
assert_not_equal Feriado.new("nome", "01", "01"), Feriado.new("nome2", "01", "02")
|
|
end
|
|
|
|
end
|
|
|