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.
This repo is archived. You can view files and clone it, but cannot push or open issues/pull-requests.

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