brcobranca 2.0.0
Sign up to get free protection for your applications and to get access to all the features.
- data/History.txt +4 -0
- data/Manifest.txt +39 -0
- data/README.rdoc +71 -0
- data/Rakefile +32 -0
- data/brcobranca.gemspec +49 -0
- data/config/website.yml +2 -0
- data/lib/brcobranca/arquivos/logos/bb.jpg +0 -0
- data/lib/brcobranca/arquivos/logos/hsbc.jpg +0 -0
- data/lib/brcobranca/arquivos/logos/itau.jpg +0 -0
- data/lib/brcobranca/arquivos/templates/modelo_generico.eps +0 -0
- data/lib/brcobranca/boleto/banco_brasil.rb +79 -0
- data/lib/brcobranca/boleto/banco_hsbc.rb +63 -0
- data/lib/brcobranca/boleto/banco_itau.rb +105 -0
- data/lib/brcobranca/boleto/base.rb +142 -0
- data/lib/brcobranca/boleto/template/rghost.rb +151 -0
- data/lib/brcobranca/boleto/template/util.rb +24 -0
- data/lib/brcobranca/config.rb +9 -0
- data/lib/brcobranca/core_ext.rb +250 -0
- data/lib/brcobranca/currency.rb +70 -0
- data/lib/brcobranca/retorno/retorno_cbr643.rb +84 -0
- data/lib/brcobranca.rb +27 -0
- data/script/console +10 -0
- data/script/destroy +14 -0
- data/script/generate +14 -0
- data/script/txt2html +71 -0
- data/test/arquivos/CBR64310.RET +51 -0
- data/test/test_banco_brasil.rb +276 -0
- data/test/test_banco_hsbc.rb +66 -0
- data/test/test_banco_itau.rb +103 -0
- data/test/test_base.rb +162 -0
- data/test/test_core_ext.rb +227 -0
- data/test/test_currency.rb +51 -0
- data/test/test_helper.rb +5 -0
- data/test/test_retorno_cbr643.rb +17 -0
- data/website/index.html +74 -0
- data/website/index.txt +41 -0
- data/website/javascripts/rounded_corners_lite.inc.js +285 -0
- data/website/stylesheets/screen.css +159 -0
- data/website/template.html.erb +49 -0
- data.tar.gz.sig +0 -0
- metadata +175 -0
- metadata.gz.sig +0 -0
data/test/test_base.rb
ADDED
@@ -0,0 +1,162 @@
|
|
1
|
+
require File.join(File.dirname(__FILE__),'test_helper.rb')
|
2
|
+
|
3
|
+
class BaseTest < Test::Unit::TestCase #:nodoc:[all]
|
4
|
+
|
5
|
+
def setup
|
6
|
+
@boleto = Brcobranca::Boleto::Base.new
|
7
|
+
end
|
8
|
+
|
9
|
+
def test_should_initialize_correctly
|
10
|
+
assert_equal "DM", @boleto.especie_documento
|
11
|
+
assert_equal "R$", @boleto.especie
|
12
|
+
assert_equal "9", @boleto.moeda
|
13
|
+
assert_equal Date.today, @boleto.data_documento
|
14
|
+
assert_equal 1, @boleto.dias_vencimento
|
15
|
+
assert_equal((Date.today + 1), @boleto.data_vencimento)
|
16
|
+
assert_equal "S", @boleto.aceite
|
17
|
+
assert_equal 1, @boleto.quantidade
|
18
|
+
assert_equal 0.0, @boleto.valor
|
19
|
+
assert_equal 0.0, @boleto.valor_documento
|
20
|
+
assert_equal "QUALQUER BANCO ATÉ O VENCIMENTO", @boleto.local_pagamento
|
21
|
+
end
|
22
|
+
|
23
|
+
def test_should_calculate_correct_banco_dv
|
24
|
+
@boleto.banco = "85068014982"
|
25
|
+
assert_equal 9, @boleto.banco_dv
|
26
|
+
@boleto.banco = "05009401448"
|
27
|
+
assert_equal 1, @boleto.banco_dv
|
28
|
+
@boleto.banco = "12387987777700168"
|
29
|
+
assert_equal 2, @boleto.banco_dv
|
30
|
+
@boleto.banco = "4042"
|
31
|
+
assert_equal 8, @boleto.banco_dv
|
32
|
+
@boleto.banco = "61900"
|
33
|
+
assert_equal 0, @boleto.banco_dv
|
34
|
+
@boleto.banco = "0719"
|
35
|
+
assert_equal 6, @boleto.banco_dv
|
36
|
+
@boleto.banco = 85068014982
|
37
|
+
assert_equal 9, @boleto.banco_dv
|
38
|
+
@boleto.banco = 5009401448
|
39
|
+
assert_equal 1, @boleto.banco_dv
|
40
|
+
@boleto.banco = 12387987777700168
|
41
|
+
assert_equal 2, @boleto.banco_dv
|
42
|
+
@boleto.banco = 4042
|
43
|
+
assert_equal 8, @boleto.banco_dv
|
44
|
+
@boleto.banco = 61900
|
45
|
+
assert_equal 0, @boleto.banco_dv
|
46
|
+
@boleto.banco = 719
|
47
|
+
assert_equal 6, @boleto.banco_dv
|
48
|
+
end
|
49
|
+
|
50
|
+
def test_should_calculate_correct_agencia_dv
|
51
|
+
@boleto.agencia = "85068014982"
|
52
|
+
assert_equal 9, @boleto.agencia_dv
|
53
|
+
@boleto.agencia = "05009401448"
|
54
|
+
assert_equal 1, @boleto.agencia_dv
|
55
|
+
@boleto.agencia = "12387987777700168"
|
56
|
+
assert_equal 2, @boleto.agencia_dv
|
57
|
+
@boleto.agencia = "4042"
|
58
|
+
assert_equal 8, @boleto.agencia_dv
|
59
|
+
@boleto.agencia = "61900"
|
60
|
+
assert_equal 0, @boleto.agencia_dv
|
61
|
+
@boleto.agencia = "0719"
|
62
|
+
assert_equal 6, @boleto.agencia_dv
|
63
|
+
@boleto.agencia = 85068014982
|
64
|
+
assert_equal 9, @boleto.agencia_dv
|
65
|
+
@boleto.agencia = 5009401448
|
66
|
+
assert_equal 1, @boleto.agencia_dv
|
67
|
+
@boleto.agencia = 12387987777700168
|
68
|
+
assert_equal 2, @boleto.agencia_dv
|
69
|
+
@boleto.agencia = 4042
|
70
|
+
assert_equal 8, @boleto.agencia_dv
|
71
|
+
@boleto.agencia = 61900
|
72
|
+
assert_equal 0, @boleto.agencia_dv
|
73
|
+
@boleto.agencia = 719
|
74
|
+
assert_equal 6, @boleto.agencia_dv
|
75
|
+
end
|
76
|
+
|
77
|
+
def test_should_calculate_correct_conta_corrente_dv
|
78
|
+
@boleto.conta_corrente = "85068014982"
|
79
|
+
assert_equal 9, @boleto.conta_corrente_dv
|
80
|
+
@boleto.conta_corrente = "05009401448"
|
81
|
+
assert_equal 1, @boleto.conta_corrente_dv
|
82
|
+
@boleto.conta_corrente = "12387987777700168"
|
83
|
+
assert_equal 2, @boleto.conta_corrente_dv
|
84
|
+
@boleto.conta_corrente = "4042"
|
85
|
+
assert_equal 8, @boleto.conta_corrente_dv
|
86
|
+
@boleto.conta_corrente = "61900"
|
87
|
+
assert_equal 0, @boleto.conta_corrente_dv
|
88
|
+
@boleto.conta_corrente = "0719"
|
89
|
+
assert_equal 6, @boleto.conta_corrente_dv
|
90
|
+
@boleto.conta_corrente = 85068014982
|
91
|
+
assert_equal 9, @boleto.conta_corrente_dv
|
92
|
+
@boleto.conta_corrente = 5009401448
|
93
|
+
assert_equal 1, @boleto.conta_corrente_dv
|
94
|
+
@boleto.conta_corrente = 12387987777700168
|
95
|
+
assert_equal 2, @boleto.conta_corrente_dv
|
96
|
+
@boleto.conta_corrente = 4042
|
97
|
+
assert_equal 8, @boleto.conta_corrente_dv
|
98
|
+
@boleto.conta_corrente = 61900
|
99
|
+
assert_equal 0, @boleto.conta_corrente_dv
|
100
|
+
@boleto.conta_corrente = 719
|
101
|
+
assert_equal 6, @boleto.conta_corrente_dv
|
102
|
+
end
|
103
|
+
|
104
|
+
def test_should_calculate_correct_nosso_numero_dv
|
105
|
+
@boleto.numero_documento = "85068014982"
|
106
|
+
assert_equal 9, @boleto.nosso_numero_dv
|
107
|
+
@boleto.numero_documento = "05009401448"
|
108
|
+
assert_equal 1, @boleto.nosso_numero_dv
|
109
|
+
@boleto.numero_documento = "12387987777700168"
|
110
|
+
assert_equal 2, @boleto.nosso_numero_dv
|
111
|
+
@boleto.numero_documento = "4042"
|
112
|
+
assert_equal 8, @boleto.nosso_numero_dv
|
113
|
+
@boleto.numero_documento = "61900"
|
114
|
+
assert_equal 0, @boleto.nosso_numero_dv
|
115
|
+
@boleto.numero_documento = "0719"
|
116
|
+
assert_equal 6, @boleto.nosso_numero_dv
|
117
|
+
@boleto.numero_documento = 85068014982
|
118
|
+
assert_equal 9, @boleto.nosso_numero_dv
|
119
|
+
@boleto.numero_documento = 5009401448
|
120
|
+
assert_equal 1, @boleto.nosso_numero_dv
|
121
|
+
@boleto.numero_documento = 12387987777700168
|
122
|
+
assert_equal 2, @boleto.nosso_numero_dv
|
123
|
+
@boleto.numero_documento = 4042
|
124
|
+
assert_equal 8, @boleto.nosso_numero_dv
|
125
|
+
@boleto.numero_documento = 61900
|
126
|
+
assert_equal 0, @boleto.nosso_numero_dv
|
127
|
+
@boleto.numero_documento = 719
|
128
|
+
assert_equal 6, @boleto.nosso_numero_dv
|
129
|
+
end
|
130
|
+
|
131
|
+
def test_should_return_correct_valor_documento
|
132
|
+
@boleto.quantidade = 1
|
133
|
+
@boleto.valor = 1
|
134
|
+
assert_equal 1, @boleto.valor_documento
|
135
|
+
@boleto.quantidade = 1
|
136
|
+
@boleto.valor = 1.0
|
137
|
+
assert_equal 1.0, @boleto.valor_documento
|
138
|
+
@boleto.quantidade = 1
|
139
|
+
@boleto.valor = 1.2
|
140
|
+
assert_equal 1.2, @boleto.valor_documento
|
141
|
+
@boleto.quantidade = 100
|
142
|
+
@boleto.valor = 1
|
143
|
+
assert_equal 100, @boleto.valor_documento
|
144
|
+
@boleto.quantidade = 1
|
145
|
+
@boleto.valor = 135.43
|
146
|
+
assert_equal 135.43, @boleto.valor_documento
|
147
|
+
end
|
148
|
+
|
149
|
+
def test_should_return_correct_data_vencimento
|
150
|
+
@boleto.data_documento = Date.parse "2008-02-01"
|
151
|
+
@boleto.dias_vencimento = 1
|
152
|
+
assert_equal "2008-02-02", @boleto.data_vencimento.to_s
|
153
|
+
@boleto.data_documento = Date.parse "2008-02-02"
|
154
|
+
@boleto.dias_vencimento = 28
|
155
|
+
assert_equal "2008-03-01", @boleto.data_vencimento.to_s
|
156
|
+
@boleto.data_documento = Date.parse "2008-02-06"
|
157
|
+
@boleto.dias_vencimento = 100
|
158
|
+
assert_equal "2008-05-16", @boleto.data_vencimento.to_s
|
159
|
+
assert_equal Date.parse("2008-05-16"), @boleto.data_vencimento
|
160
|
+
end
|
161
|
+
|
162
|
+
end
|
@@ -0,0 +1,227 @@
|
|
1
|
+
require File.join(File.dirname(__FILE__),'test_helper.rb')
|
2
|
+
|
3
|
+
class CoreExtTest < Test::Unit::TestCase #:nodoc:[all]
|
4
|
+
# Teste da Extensão de core do Brcobranca
|
5
|
+
def test_should_format_correct_cpf
|
6
|
+
assert_equal "987.892.987-90", 98789298790.to_br_cpf
|
7
|
+
assert_equal "987.892.987-90", "98789298790".to_br_cpf
|
8
|
+
end
|
9
|
+
|
10
|
+
def test_should_format_correct_cep
|
11
|
+
assert_equal "85253-100", 85253100.to_br_cep
|
12
|
+
assert_equal "85253-100", "85253100".to_br_cep
|
13
|
+
end
|
14
|
+
|
15
|
+
def test_should_format_correct_cnpj
|
16
|
+
assert_equal "88.394.510/0001-03", 88394510000103.to_br_cnpj
|
17
|
+
assert_equal "88.394.510/0001-03", "88394510000103".to_br_cnpj
|
18
|
+
end
|
19
|
+
|
20
|
+
def test_should_return_correct_object_formated
|
21
|
+
assert_equal "987.892.987-90", 98789298790.formata_documento
|
22
|
+
assert_equal "987.892.987-90", "98789298790".formata_documento
|
23
|
+
assert_equal "85253-100", 85253100.formata_documento
|
24
|
+
assert_equal "85253-100", "85253100".formata_documento
|
25
|
+
assert_equal "88.394.510/0001-03", 88394510000103.formata_documento
|
26
|
+
assert_equal "88.394.510/0001-03", "88394510000103".formata_documento
|
27
|
+
end
|
28
|
+
|
29
|
+
def test_should_return_true_is_moeda
|
30
|
+
assert_equal true, 1234.03.to_s.moeda?
|
31
|
+
assert_equal true, +1234.03.to_s.moeda?
|
32
|
+
assert_equal true, -1234.03.to_s.moeda?
|
33
|
+
assert_equal false, 123403.to_s.moeda?
|
34
|
+
assert_equal false, -123403.to_s.moeda?
|
35
|
+
assert_equal false, +123403.to_s.moeda?
|
36
|
+
assert_equal true, "1234.03".moeda?
|
37
|
+
assert_equal true, "1234,03".moeda?
|
38
|
+
assert_equal true, "1,234.03".moeda?
|
39
|
+
assert_equal true, "1.234.03".moeda?
|
40
|
+
assert_equal true, "1,234,03".moeda?
|
41
|
+
assert_equal true, "12.340,03".moeda?
|
42
|
+
assert_equal true, "+1234.03".moeda?
|
43
|
+
assert_equal true, "+1234,03".moeda?
|
44
|
+
assert_equal true, "+1,234.03".moeda?
|
45
|
+
assert_equal true, "+1.234.03".moeda?
|
46
|
+
assert_equal true, "+1,234,03".moeda?
|
47
|
+
assert_equal true, "+12.340,03".moeda?
|
48
|
+
assert_equal true, "-1234.03".moeda?
|
49
|
+
assert_equal true, "-1234,03".moeda?
|
50
|
+
assert_equal true, "-1,234.03".moeda?
|
51
|
+
assert_equal true, "-1.234.03".moeda?
|
52
|
+
assert_equal true, "-1,234,03".moeda?
|
53
|
+
assert_equal true, "-12.340,03".moeda?
|
54
|
+
assert_equal false, "1234ab".moeda?
|
55
|
+
assert_equal false, "ab1213".moeda?
|
56
|
+
assert_equal false, "ffab".moeda?
|
57
|
+
assert_equal false, "1234".moeda?
|
58
|
+
end
|
59
|
+
|
60
|
+
def test_should_return_correct_number_days
|
61
|
+
assert_equal 3769, (Date.parse "2008-02-01").fator_vencimento
|
62
|
+
assert_equal 3770, (Date.parse "2008-02-02").fator_vencimento
|
63
|
+
assert_equal 3774, (Date.parse "2008-02-06").fator_vencimento
|
64
|
+
end
|
65
|
+
|
66
|
+
def test_should_return_correct_formated_date
|
67
|
+
assert_equal "01/02/2008", (Date.parse "2008-02-01").to_s_br
|
68
|
+
assert_equal "02/02/2008", (Date.parse "2008-02-02").to_s_br
|
69
|
+
assert_equal "06/02/2008", (Date.parse "2008-02-06").to_s_br
|
70
|
+
end
|
71
|
+
|
72
|
+
def test_should_clean_value
|
73
|
+
assert_equal "123403", 1234.03.limpa_valor_moeda
|
74
|
+
assert_equal "123403", +1234.03.limpa_valor_moeda
|
75
|
+
assert_equal "123403", -1234.03.limpa_valor_moeda
|
76
|
+
assert_equal 123403, 123403.limpa_valor_moeda
|
77
|
+
assert_equal(-123403, -123403.limpa_valor_moeda)
|
78
|
+
assert_equal(+123403, +123403.limpa_valor_moeda)
|
79
|
+
assert_equal "123403", "1234.03".limpa_valor_moeda
|
80
|
+
assert_equal "123403", "1234,03".limpa_valor_moeda
|
81
|
+
assert_equal "123403", "1,234.03".limpa_valor_moeda
|
82
|
+
assert_equal "123403", "1.234.03".limpa_valor_moeda
|
83
|
+
assert_equal "123403", "1,234,03".limpa_valor_moeda
|
84
|
+
assert_equal "1234003", "12.340,03".limpa_valor_moeda
|
85
|
+
assert_equal "123403", "+1234.03".limpa_valor_moeda
|
86
|
+
assert_equal "123403", "+1234,03".limpa_valor_moeda
|
87
|
+
assert_equal "123403", "+1,234.03".limpa_valor_moeda
|
88
|
+
assert_equal "123403", "+1.234.03".limpa_valor_moeda
|
89
|
+
assert_equal "123403", "+1,234,03".limpa_valor_moeda
|
90
|
+
assert_equal "1234003", "+12.340,03".limpa_valor_moeda
|
91
|
+
assert_equal "123403", "-1234.03".limpa_valor_moeda
|
92
|
+
assert_equal "123403", "-1234,03".limpa_valor_moeda
|
93
|
+
assert_equal "123403", "-1,234.03".limpa_valor_moeda
|
94
|
+
assert_equal "123403", "-1.234.03".limpa_valor_moeda
|
95
|
+
assert_equal "123403", "-1,234,03".limpa_valor_moeda
|
96
|
+
assert_equal "1234003", "-12.340,03".limpa_valor_moeda
|
97
|
+
assert_equal "1234ab", "1234ab".limpa_valor_moeda
|
98
|
+
assert_equal "ab1213", "ab1213".limpa_valor_moeda
|
99
|
+
assert_equal "ffab", "ffab".limpa_valor_moeda
|
100
|
+
assert_equal "1234", "1234".limpa_valor_moeda
|
101
|
+
end
|
102
|
+
|
103
|
+
def test_should_calculate_correct_module10
|
104
|
+
assert_equal nil, " ".modulo10
|
105
|
+
assert_equal nil, "".modulo10
|
106
|
+
assert_equal 5, "001905009".modulo10
|
107
|
+
assert_equal 9, "4014481606".modulo10
|
108
|
+
assert_equal 4, "0680935031".modulo10
|
109
|
+
assert_equal 5, "29004590".modulo10
|
110
|
+
assert_equal 1, "341911012".modulo10
|
111
|
+
assert_equal 8, "3456788005".modulo10
|
112
|
+
assert_equal 1, "7123457000".modulo10
|
113
|
+
assert_equal 8, "00571234511012345678".modulo10
|
114
|
+
assert_kind_of( Fixnum, "001905009".modulo10 )
|
115
|
+
assert_equal 0, 0.modulo10
|
116
|
+
assert_equal 5, 1905009.modulo10
|
117
|
+
assert_equal 9, 4014481606.modulo10
|
118
|
+
assert_equal 4, 680935031.modulo10
|
119
|
+
assert_equal 5, 29004590.modulo10
|
120
|
+
assert_kind_of( Fixnum, 1905009.modulo10 )
|
121
|
+
end
|
122
|
+
|
123
|
+
def test_should_calculate_correct_modulo11_9to2
|
124
|
+
assert_equal 9, "85068014982".modulo11_9to2
|
125
|
+
assert_equal 1, "05009401448".modulo11_9to2
|
126
|
+
assert_equal 2, "12387987777700168".modulo11_9to2
|
127
|
+
assert_equal 8, "4042".modulo11_9to2
|
128
|
+
assert_equal 0, "61900".modulo11_9to2
|
129
|
+
assert_equal 6, "0719".modulo11_9to2
|
130
|
+
assert_equal 5, "000000005444".modulo11_9to2
|
131
|
+
assert_equal 5, "5444".modulo11_9to2
|
132
|
+
assert_equal 3, "01129004590".modulo11_9to2
|
133
|
+
assert_equal 10, "15735".modulo11_9to2
|
134
|
+
assert_equal 0, "777700168".modulo11_9to2
|
135
|
+
assert_equal 3, "77700168".modulo11_9to2
|
136
|
+
assert_equal 2, "00015448".modulo11_9to2
|
137
|
+
assert_equal 2, "15448".modulo11_9to2
|
138
|
+
assert_equal 9, "12345678".modulo11_9to2
|
139
|
+
assert_equal 0, "34230".modulo11_9to2
|
140
|
+
assert_equal 3, "258281".modulo11_9to2
|
141
|
+
assert_kind_of( Fixnum, "5444".modulo11_9to2 )
|
142
|
+
assert_kind_of( Fixnum, "000000005444".modulo11_9to2 )
|
143
|
+
assert_equal 9, 85068014982.modulo11_9to2
|
144
|
+
assert_equal 1, 5009401448.modulo11_9to2
|
145
|
+
assert_equal 2, 12387987777700168.modulo11_9to2
|
146
|
+
assert_equal 8, 4042.modulo11_9to2
|
147
|
+
assert_equal 0, 61900.modulo11_9to2
|
148
|
+
assert_equal 6, 719.modulo11_9to2
|
149
|
+
assert_equal 5, 5444.modulo11_9to2
|
150
|
+
assert_equal 3, 1129004590.modulo11_9to2
|
151
|
+
assert_kind_of( Fixnum, 5444.modulo11_9to2 )
|
152
|
+
end
|
153
|
+
|
154
|
+
def test_should_calculate_correct_modulo11_9to2_10_como_x
|
155
|
+
assert_equal 9, "85068014982".modulo11_9to2_10_como_x
|
156
|
+
assert_equal 1, "05009401448".modulo11_9to2_10_como_x
|
157
|
+
assert_equal 2, "12387987777700168".modulo11_9to2_10_como_x
|
158
|
+
assert_equal 8, "4042".modulo11_9to2_10_como_x
|
159
|
+
assert_equal 0, "61900".modulo11_9to2_10_como_x
|
160
|
+
assert_equal 6, "0719".modulo11_9to2_10_como_x
|
161
|
+
assert_equal 5, "000000005444".modulo11_9to2_10_como_x
|
162
|
+
assert_equal 5, "5444".modulo11_9to2_10_como_x
|
163
|
+
assert_equal 3, "01129004590".modulo11_9to2_10_como_x
|
164
|
+
assert_equal "X", "15735".modulo11_9to2_10_como_x
|
165
|
+
assert_kind_of( String, "15735".modulo11_9to2_10_como_x )
|
166
|
+
assert_kind_of( Fixnum, "5444".modulo11_9to2_10_como_x )
|
167
|
+
assert_kind_of( Fixnum, "000000005444".modulo11_9to2_10_como_x )
|
168
|
+
end
|
169
|
+
|
170
|
+
def test_should_calculate_correct_modulo11_2to9
|
171
|
+
assert_equal 3, "0019373700000001000500940144816060680935031".modulo11_2to9
|
172
|
+
assert_kind_of( Fixnum, "0019373700000001000500940144816060680935031".modulo11_2to9 )
|
173
|
+
assert_equal 6, "3419166700000123451101234567880057123457000".modulo11_2to9
|
174
|
+
assert_equal 3, 19373700000001000500940144816060680935031.modulo11_2to9
|
175
|
+
assert_kind_of( Fixnum, 19373700000001000500940144816060680935031.modulo11_2to9 )
|
176
|
+
end
|
177
|
+
|
178
|
+
def test_should_calculate_correct_addiction_of_numbers
|
179
|
+
assert_equal 3, 111.soma_digitos
|
180
|
+
assert_equal 8, 8.soma_digitos
|
181
|
+
assert_equal 3, "111".soma_digitos
|
182
|
+
assert_equal 8, "8".soma_digitos
|
183
|
+
assert_kind_of( Fixnum, 111.soma_digitos )
|
184
|
+
assert_kind_of( Fixnum, "111".soma_digitos )
|
185
|
+
end
|
186
|
+
|
187
|
+
def test_should_fill_correctly_with_zeros
|
188
|
+
assert_equal "123", "123".zeros_esquerda(:tamanho => 0)
|
189
|
+
assert_equal "123", "123".zeros_esquerda(:tamanho => 1)
|
190
|
+
assert_equal "123", "123".zeros_esquerda(:tamanho => 2)
|
191
|
+
assert_equal "123", "123".zeros_esquerda(:tamanho => 3)
|
192
|
+
assert_equal "0123", "123".zeros_esquerda(:tamanho => 4)
|
193
|
+
assert_equal "00123", "123".zeros_esquerda(:tamanho => 5)
|
194
|
+
assert_equal "0000000123", "123".zeros_esquerda(:tamanho => 10)
|
195
|
+
assert_kind_of( String, "123".zeros_esquerda(:tamanho => 5) )
|
196
|
+
assert_equal "123", 123.zeros_esquerda(:tamanho => 0)
|
197
|
+
assert_equal "123", 123.zeros_esquerda(:tamanho => 1)
|
198
|
+
assert_equal "123", 123.zeros_esquerda(:tamanho => 2)
|
199
|
+
assert_equal "123", 123.zeros_esquerda(:tamanho => 3)
|
200
|
+
assert_equal "0123", 123.zeros_esquerda(:tamanho => 4)
|
201
|
+
assert_equal "00123", 123.zeros_esquerda(:tamanho => 5)
|
202
|
+
assert_equal "0000000123", 123.zeros_esquerda(:tamanho => 10)
|
203
|
+
assert_kind_of( String, 123.zeros_esquerda(:tamanho => 5) )
|
204
|
+
assert_equal "123", "123".zeros_esquerda
|
205
|
+
assert_equal "123", 123.zeros_esquerda
|
206
|
+
end
|
207
|
+
|
208
|
+
def test_should_mont_correct_linha_digitalvel
|
209
|
+
assert_equal("00190.00009 01238.798779 77700.168188 2 37690000013500", "00192376900000135000000001238798777770016818".linha_digitavel)
|
210
|
+
assert_kind_of(String, "00192376900000135000000001238798777770016818".linha_digitavel)
|
211
|
+
assert_equal nil, "".linha_digitavel
|
212
|
+
assert_equal nil, "00193373700".linha_digitavel
|
213
|
+
assert_equal nil, "0019337370000193373700".linha_digitavel
|
214
|
+
assert_equal nil, "00b193373700bb00193373700".linha_digitavel
|
215
|
+
assert_equal nil, "0019337370000193373700bbb".linha_digitavel
|
216
|
+
assert_equal nil, "0019237690000c135000c0000123f7987e7773016813".linha_digitavel
|
217
|
+
end
|
218
|
+
|
219
|
+
def test_should_return_correct_julian_date
|
220
|
+
assert_equal "0429", (Date.parse "2009-02-11").to_juliano
|
221
|
+
assert_equal "0428", (Date.parse "2008-02-11").to_juliano
|
222
|
+
assert_equal "0989", (Date.parse "2009-04-08").to_juliano
|
223
|
+
# Ano 2008 eh bisexto
|
224
|
+
assert_equal "0998", (Date.parse "2008-04-08").to_juliano
|
225
|
+
end
|
226
|
+
|
227
|
+
end
|
@@ -0,0 +1,51 @@
|
|
1
|
+
require File.join(File.dirname(__FILE__),'test_helper.rb')
|
2
|
+
|
3
|
+
class CurrencyTest < Test::Unit::TestCase #:nodoc:[all]
|
4
|
+
# Teste do modulo currency
|
5
|
+
|
6
|
+
# Testa se é numero Ex. 1321 ou 13.32
|
7
|
+
def test_should_return_true_is_numeric
|
8
|
+
assert_equal true, "1234".numeric?
|
9
|
+
assert_equal true, "123.4".numeric?
|
10
|
+
assert_equal true, "123,4".numeric?
|
11
|
+
assert_equal true, "1234.03".numeric?
|
12
|
+
assert_equal true, "1234,03".numeric?
|
13
|
+
assert_equal true, "-1234".numeric?
|
14
|
+
assert_equal true, "-123.4".numeric?
|
15
|
+
assert_equal true, "-123,4".numeric?
|
16
|
+
assert_equal true, "-1234.03".numeric?
|
17
|
+
assert_equal true, "-1234,03".numeric?
|
18
|
+
assert_equal true, "+1234".numeric?
|
19
|
+
assert_equal true, "+123.4".numeric?
|
20
|
+
assert_equal true, "+123,4".numeric?
|
21
|
+
assert_equal true, "+1234.03".numeric?
|
22
|
+
assert_equal true, "+1234,03".numeric?
|
23
|
+
assert_equal false, "1234,".numeric?
|
24
|
+
assert_equal false, "1234.".numeric?
|
25
|
+
assert_equal false, "1,234.03".numeric?
|
26
|
+
assert_equal false, "1.234.03".numeric?
|
27
|
+
assert_equal false, "1,234,03".numeric?
|
28
|
+
assert_equal false, "12.340,03".numeric?
|
29
|
+
assert_equal false, "1234ab".numeric?
|
30
|
+
assert_equal false, "ab1213".numeric?
|
31
|
+
assert_equal false, "ffab".numeric?
|
32
|
+
end
|
33
|
+
|
34
|
+
def test_should_return_correct_number
|
35
|
+
assert_equal 1234, "1234".to_number
|
36
|
+
assert_equal 123.4, "123.4".to_number
|
37
|
+
assert_equal 123.4, "123,4".to_number
|
38
|
+
assert_equal nil, "1234,".to_number
|
39
|
+
assert_equal nil, "1234.".to_number
|
40
|
+
assert_equal 1234.03, "1234.03".to_number
|
41
|
+
assert_equal 1234.03, "1234,03".to_number
|
42
|
+
assert_equal nil, "1,234.03".to_number
|
43
|
+
assert_equal nil, "1.234.03".to_number
|
44
|
+
assert_equal nil, "1,234,03".to_number
|
45
|
+
assert_equal nil, "12.340,03".to_number
|
46
|
+
assert_equal nil, "1234ab".to_number
|
47
|
+
assert_equal nil, "ab1213".to_number
|
48
|
+
assert_equal nil, "ffab".to_number
|
49
|
+
end
|
50
|
+
|
51
|
+
end
|
data/test/test_helper.rb
ADDED
@@ -0,0 +1,17 @@
|
|
1
|
+
require File.join(File.dirname(__FILE__),'test_helper.rb')
|
2
|
+
|
3
|
+
class RetornoCbr643Test < Test::Unit::TestCase #:nodoc:[all]
|
4
|
+
|
5
|
+
def test_should_correct_return_retorno
|
6
|
+
@pagamentos = Brcobranca::Retorno::Cbr643.load_lines(File.join(File.dirname(__FILE__),'arquivos','CBR64310.RET'))
|
7
|
+
assert_equal("000002", @pagamentos.first.sequencial)
|
8
|
+
assert_equal("33521", @pagamentos.first.agencia_com_dv)
|
9
|
+
assert_equal("000141473", @pagamentos.first.cedente_com_dv)
|
10
|
+
assert_equal("1123725", @pagamentos.first.convenio)
|
11
|
+
assert_equal("080708", @pagamentos.first.data_liquidacao)
|
12
|
+
assert_equal("100708", @pagamentos.first.data_credito)
|
13
|
+
assert_equal("0000000108461", @pagamentos.first.valor_recebido)
|
14
|
+
assert_equal("11237250000047565", @pagamentos.first.nosso_numero)
|
15
|
+
end
|
16
|
+
|
17
|
+
end
|
data/website/index.html
ADDED
@@ -0,0 +1,74 @@
|
|
1
|
+
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
|
2
|
+
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
|
3
|
+
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
|
4
|
+
<head>
|
5
|
+
<link rel="stylesheet" href="stylesheets/screen.css" type="text/css" media="screen" />
|
6
|
+
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
|
7
|
+
<title>
|
8
|
+
brcobranca
|
9
|
+
</title>
|
10
|
+
<script src="javascripts/rounded_corners_lite.inc.js" type="text/javascript"></script>
|
11
|
+
<style>
|
12
|
+
|
13
|
+
</style>
|
14
|
+
<script type="text/javascript">
|
15
|
+
window.onload = function() {
|
16
|
+
settings = {
|
17
|
+
tl: { radius: 10 },
|
18
|
+
tr: { radius: 10 },
|
19
|
+
bl: { radius: 10 },
|
20
|
+
br: { radius: 10 },
|
21
|
+
antiAlias: true,
|
22
|
+
autoPad: true,
|
23
|
+
validTags: ["div"]
|
24
|
+
}
|
25
|
+
var versionBox = new curvyCorners(settings, document.getElementById("version"));
|
26
|
+
versionBox.applyCornersToAll();
|
27
|
+
}
|
28
|
+
</script>
|
29
|
+
</head>
|
30
|
+
<body>
|
31
|
+
<div id="main">
|
32
|
+
|
33
|
+
<h1>brcobranca</h1>
|
34
|
+
<div class="sidebar">
|
35
|
+
<div id="version" class="clickable" onclick='document.location = "http://rubyforge.org/projects/brcobranca"; return false'>
|
36
|
+
<p>Fazer download</p>
|
37
|
+
<a href="http://rubyforge.org/projects/brcobranca" class="numbers">2.0.0</a>
|
38
|
+
</div>
|
39
|
+
</div>
|
40
|
+
<p>Gerador de bloquetos de cobrança para bancos brasileiros.</p>
|
41
|
+
<h2>Instalando</h2>
|
42
|
+
<p><pre class='syntax'><span class="ident">sudo</span> <span class="ident">gem</span> <span class="ident">install</span> <span class="ident">brcobranca</span></pre></p>
|
43
|
+
<h2>Documentação</h2>
|
44
|
+
<ul>
|
45
|
+
<li><a href="http://brcobranca.rubyforge.org/rdoc">http://brcobranca.rubyforge.org/rdoc</a></li>
|
46
|
+
</ul>
|
47
|
+
<h2>Exemplo</h2>
|
48
|
+
<h2>Fontes</h2>
|
49
|
+
<ul>
|
50
|
+
<li>github: <a href="http://github.com/kivanio/brcobranca/tree/master">http://github.com/kivanio/brcobranca/tree/master</a></li>
|
51
|
+
</ul>
|
52
|
+
<pre>git clone git://github.com/kivanio/brcobranca.git</pre>
|
53
|
+
<h3>Se preferir compilar direto do fonte</h3>
|
54
|
+
<pre>cd brcobranca
|
55
|
+
rake test
|
56
|
+
rake install_gem</pre>
|
57
|
+
<h2>Licensa</h2>
|
58
|
+
<p>Esta gem é licenciada pel licensa <span class="caps">BSD</span></p>
|
59
|
+
<h2>Gostou?</h2>
|
60
|
+
<ul>
|
61
|
+
<li>Recomende-nos no <a href="http://www.workingwithrails.com/recommendation/new/person/5679-kivanio-pereira-barbosa">workingwithrails.com</a></li>
|
62
|
+
</ul>
|
63
|
+
<h2>Contato</h2>
|
64
|
+
<p>De brasileiro para brasileiros.</p>
|
65
|
+
<p>Copyleft 2009 Kivanio Barbosa, kivanio@gmail.com</p>
|
66
|
+
<p class="coda">
|
67
|
+
Theme extended from <a href="http://rb2js.rubyforge.org/">Paul Battley</a>
|
68
|
+
</p>
|
69
|
+
</div>
|
70
|
+
|
71
|
+
<!-- insert site tracking codes here, like Google Urchin -->
|
72
|
+
|
73
|
+
</body>
|
74
|
+
</html>
|
data/website/index.txt
ADDED
@@ -0,0 +1,41 @@
|
|
1
|
+
h1. brcobranca
|
2
|
+
|
3
|
+
Gerador de bloquetos de cobrança para bancos brasileiros.
|
4
|
+
|
5
|
+
h2. Instalando
|
6
|
+
|
7
|
+
<pre syntax="ruby">sudo gem install brcobranca</pre>
|
8
|
+
|
9
|
+
h2. Documentação
|
10
|
+
|
11
|
+
* "http://brcobranca.rubyforge.org/rdoc":http://brcobranca.rubyforge.org/rdoc
|
12
|
+
|
13
|
+
h2. Exemplo
|
14
|
+
|
15
|
+
h2. Fontes
|
16
|
+
|
17
|
+
* github: "http://github.com/kivanio/brcobranca/tree/master":http://github.com/kivanio/brcobranca/tree/master
|
18
|
+
|
19
|
+
<pre>git clone git://github.com/kivanio/brcobranca.git</pre>
|
20
|
+
|
21
|
+
|
22
|
+
h3. Se preferir compilar direto do fonte
|
23
|
+
|
24
|
+
<pre>cd brcobranca
|
25
|
+
rake test
|
26
|
+
rake install_gem</pre>
|
27
|
+
|
28
|
+
|
29
|
+
h2. Licensa
|
30
|
+
|
31
|
+
Esta gem é licenciada pel licensa BSD
|
32
|
+
|
33
|
+
h2. Gostou?
|
34
|
+
|
35
|
+
* Recomende-nos no "workingwithrails.com":http://www.workingwithrails.com/recommendation/new/person/5679-kivanio-pereira-barbosa
|
36
|
+
|
37
|
+
h2. Contato
|
38
|
+
|
39
|
+
De brasileiro para brasileiros.
|
40
|
+
|
41
|
+
Copyleft 2009 Kivanio Barbosa, kivanio@gmail.com
|