dtaus 0.1.1 → 0.2.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- data/README.markdown +47 -30
- data/Rakefile +23 -0
- data/example/example.rb +63 -0
- data/lib/dtaus/buchung.rb +61 -95
- data/lib/dtaus/converter.rb +36 -0
- data/lib/dtaus/datensatz.rb +77 -0
- data/lib/dtaus/dta_generator.rb +217 -0
- data/lib/dtaus/erweiterung.rb +38 -23
- data/lib/dtaus/exceptions.rb +14 -0
- data/lib/dtaus/konto.rb +54 -30
- data/lib/dtaus/validator.rb +217 -0
- data/lib/dtaus.rb +11 -206
- data/test/buchung_test.rb +182 -0
- data/test/converter_test.rb +33 -0
- data/test/datensatz_test.rb +202 -0
- data/test/erweiterung_test.rb +42 -0
- data/test/konto_test.rb +206 -0
- metadata +31 -12
data/test/konto_test.rb
ADDED
@@ -0,0 +1,206 @@
|
|
1
|
+
require File.expand_path(File.dirname(__FILE__) + "/test_helper")
|
2
|
+
|
3
|
+
class KontoTest < Test::Unit::TestCase
|
4
|
+
|
5
|
+
def test_initialize
|
6
|
+
konto = DTAUS::Konto.new(
|
7
|
+
:kontonummer => 1234567890,
|
8
|
+
:blz => 12345678,
|
9
|
+
:kontoinhaber => 'Inhaber',
|
10
|
+
:bankname =>'Bank Name'
|
11
|
+
)
|
12
|
+
assert konto, 'Konto kann mit Integer erstellt werden'
|
13
|
+
assert_equal 1234567890, konto.kontonummer
|
14
|
+
assert_equal 12345678, konto.blz
|
15
|
+
assert_equal 'INHABER', konto.kontoinhaber
|
16
|
+
assert_equal 'BANK NAME', konto.bankname
|
17
|
+
assert_equal false, konto.is_auftraggeber?
|
18
|
+
|
19
|
+
konto = DTAUS::Konto.new(
|
20
|
+
:kontonummer => '1234567890',
|
21
|
+
:blz => '12345678',
|
22
|
+
:kontoinhaber => 'Inhaber',
|
23
|
+
:bankname =>'Bank Name'
|
24
|
+
)
|
25
|
+
assert konto, 'Konto kann mit Strings erstellt werden'
|
26
|
+
assert_equal 1234567890, konto.kontonummer
|
27
|
+
assert_equal 12345678, konto.blz
|
28
|
+
assert_equal 'INHABER', konto.kontoinhaber
|
29
|
+
assert_equal 'BANK NAME', konto.bankname
|
30
|
+
assert_equal false, konto.is_auftraggeber?
|
31
|
+
|
32
|
+
konto = DTAUS::Konto.new(
|
33
|
+
:kontonummer => 1234567890,
|
34
|
+
:blz => 12345678,
|
35
|
+
:kontoinhaber => 'Inhaber',
|
36
|
+
:bankname =>'Bank Name',
|
37
|
+
:is_auftraggeber => true
|
38
|
+
)
|
39
|
+
assert_equal 1234567890, konto.kontonummer
|
40
|
+
assert_equal 12345678, konto.blz
|
41
|
+
assert_equal 'INHABER', konto.kontoinhaber
|
42
|
+
assert_equal 'BANK NAME', konto.bankname
|
43
|
+
assert_equal true, konto.is_auftraggeber?
|
44
|
+
|
45
|
+
konto = DTAUS::Konto.new(
|
46
|
+
:kontonummer => 1234567890,
|
47
|
+
:blz => 12345678,
|
48
|
+
:kontoinhaber => 'Inhaber',
|
49
|
+
:bankname =>'Bank Name',
|
50
|
+
:is_auftraggeber => false,
|
51
|
+
:kundennummer => "KDNR12345678901"
|
52
|
+
)
|
53
|
+
assert_equal 1234567890, konto.kontonummer
|
54
|
+
assert_equal 12345678, konto.blz
|
55
|
+
assert_equal 'INHABER', konto.kontoinhaber
|
56
|
+
assert_equal 'BANK NAME', konto.bankname
|
57
|
+
assert_equal false, konto.is_auftraggeber?
|
58
|
+
assert_equal 12345678901, konto.kundennummer
|
59
|
+
end
|
60
|
+
|
61
|
+
def test_initialize_missing_parameters
|
62
|
+
exception = assert_raise( ArgumentError ) do
|
63
|
+
DTAUS::Konto.new(
|
64
|
+
#:kontonummer => 1234567890,
|
65
|
+
:blz => 12345678,
|
66
|
+
:kontoinhaber => 'Inhaber',
|
67
|
+
:bankname => 'Bank Name'
|
68
|
+
)
|
69
|
+
end
|
70
|
+
assert_equal "Missing params[:kontonummer] for new Konto.", exception.message
|
71
|
+
|
72
|
+
exception = assert_raise( ArgumentError ) do
|
73
|
+
DTAUS::Konto.new(
|
74
|
+
:kontonummer => 1234567890,
|
75
|
+
#:blz => 12345678,
|
76
|
+
:kontoinhaber => 'Inhaber',
|
77
|
+
:bankname => 'Bank Name'
|
78
|
+
)
|
79
|
+
end
|
80
|
+
assert_equal "Missing params[:blz] for new Konto.", exception.message
|
81
|
+
|
82
|
+
exception = assert_raise( ArgumentError ) do
|
83
|
+
DTAUS::Konto.new(
|
84
|
+
:kontonummer => 1234567890,
|
85
|
+
:blz => 12345678,
|
86
|
+
#:kontoinhaber => 'Inhaber',
|
87
|
+
:bankname => 'Bank Name'
|
88
|
+
)
|
89
|
+
end
|
90
|
+
assert_equal "Missing params[:kontoinhaber] for new Konto.", exception.message
|
91
|
+
|
92
|
+
exception = assert_raise( ArgumentError ) do
|
93
|
+
DTAUS::Konto.new(
|
94
|
+
:kontonummer => 1234567890,
|
95
|
+
:blz => 12345678,
|
96
|
+
:kontoinhaber => 'Inhaber'
|
97
|
+
#:bankname => 'Bank Name'
|
98
|
+
)
|
99
|
+
end
|
100
|
+
assert_equal "Missing params[:bankname] for new Konto.", exception.message
|
101
|
+
|
102
|
+
end
|
103
|
+
|
104
|
+
def test_initialize_incorrect_kontonummer
|
105
|
+
exception = assert_raise( DTAUS::DTAUSException ) do
|
106
|
+
DTAUS::Konto.new(
|
107
|
+
:kontonummer => 12345678901,
|
108
|
+
:blz => 12345678,
|
109
|
+
:kontoinhaber => 'Inhaber',
|
110
|
+
:bankname => 'Bank Name'
|
111
|
+
)
|
112
|
+
end
|
113
|
+
assert_equal "Ungültige Kontonummer: 12345678901", exception.message
|
114
|
+
|
115
|
+
exception = assert_raise( DTAUS::DTAUSException ) do
|
116
|
+
DTAUS::Konto.new(
|
117
|
+
:kontonummer => 0,
|
118
|
+
:blz => 12345678,
|
119
|
+
:kontoinhaber => 'Inhaber',
|
120
|
+
:bankname => 'Bank Name'
|
121
|
+
)
|
122
|
+
end
|
123
|
+
assert_equal "Ungültige Kontonummer: 0", exception.message
|
124
|
+
end
|
125
|
+
|
126
|
+
def test_initialize_incorrect_blz
|
127
|
+
exception = assert_raise( DTAUS::DTAUSException ) do
|
128
|
+
DTAUS::Konto.new(
|
129
|
+
:kontonummer => 1234567890,
|
130
|
+
:blz => 123456789,
|
131
|
+
:kontoinhaber => 'Inhaber',
|
132
|
+
:bankname => 'Bank Name'
|
133
|
+
)
|
134
|
+
end
|
135
|
+
assert_equal "Ungültige Bankleitzahl: 123456789", exception.message
|
136
|
+
|
137
|
+
exception = assert_raise( DTAUS::DTAUSException ) do
|
138
|
+
DTAUS::Konto.new(
|
139
|
+
:kontonummer => 1234567890,
|
140
|
+
:blz => 0,
|
141
|
+
:kontoinhaber => 'Inhaber',
|
142
|
+
:bankname => 'Bank Name'
|
143
|
+
)
|
144
|
+
end
|
145
|
+
assert_equal "Ungültige Bankleitzahl: 0", exception.message
|
146
|
+
end
|
147
|
+
|
148
|
+
def test_initialize_incorrect_kundennummer
|
149
|
+
exception = assert_raise( DTAUS::DTAUSException ) do
|
150
|
+
DTAUS::Konto.new(
|
151
|
+
:kontonummer => 1234567890,
|
152
|
+
:blz => 12345678,
|
153
|
+
:kontoinhaber => 'Inhaber',
|
154
|
+
:bankname => 'Bank Name',
|
155
|
+
:kundennummer => "KDNR123456789012"
|
156
|
+
)
|
157
|
+
end
|
158
|
+
assert_equal "Ungültige Kundennummer: 123456789012", exception.message
|
159
|
+
|
160
|
+
exception = assert_raise( DTAUS::DTAUSException ) do
|
161
|
+
DTAUS::Konto.new(
|
162
|
+
:kontonummer => 1234567890,
|
163
|
+
:blz => 12345678,
|
164
|
+
:kontoinhaber => 'Inhaber',
|
165
|
+
:bankname => 'Bank Name',
|
166
|
+
:kundennummer => 123456789012
|
167
|
+
)
|
168
|
+
end
|
169
|
+
assert_equal "Ungültige Kundennummer: 123456789012", exception.message
|
170
|
+
end
|
171
|
+
|
172
|
+
def test_erweiterungen
|
173
|
+
konto = DTAUS::Konto.new(
|
174
|
+
:kontonummer => 1234567890,
|
175
|
+
:blz => 12345678,
|
176
|
+
:kontoinhaber => 'Sehr laaaaaanger Inhaber Name kaum zu ' +
|
177
|
+
'glauben wie lang der tatsächlich ist GmbH',
|
178
|
+
:bankname =>'Bank Name',
|
179
|
+
:is_auftraggeber => true,
|
180
|
+
:kundennummer => 12345
|
181
|
+
)
|
182
|
+
|
183
|
+
erw = konto.erweiterungen
|
184
|
+
assert erw, "Erweiterungen eines Auftraggeberkontos"
|
185
|
+
assert_equal 2, erw.size
|
186
|
+
assert_equal "ME KAUM ZU GLAUBEN WIE LANG", erw[0].text
|
187
|
+
assert_equal '03', erw[0].type
|
188
|
+
assert_equal "DER TATSAECHLICH IST GMBH ", erw[1].text
|
189
|
+
assert_equal '03', erw[1].type
|
190
|
+
|
191
|
+
konto = DTAUS::Konto.new(
|
192
|
+
:kontonummer => 1234567890,
|
193
|
+
:blz => 12345678,
|
194
|
+
:kontoinhaber => 'Sehr laaaaaanger Inhaber Name',
|
195
|
+
:bankname => 'Bank Name'
|
196
|
+
)
|
197
|
+
|
198
|
+
erw = konto.erweiterungen
|
199
|
+
assert erw, "Erweiterungen eines Kundenkontos"
|
200
|
+
assert_equal 1, erw.size
|
201
|
+
assert_equal "ME ", erw[0].text
|
202
|
+
assert_equal '01', erw[0].type
|
203
|
+
|
204
|
+
end
|
205
|
+
|
206
|
+
end
|
metadata
CHANGED
@@ -1,26 +1,29 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: dtaus
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
hash:
|
5
|
-
prerelease:
|
4
|
+
hash: 23
|
5
|
+
prerelease:
|
6
6
|
segments:
|
7
7
|
- 0
|
8
|
-
-
|
9
|
-
-
|
10
|
-
version: 0.
|
8
|
+
- 2
|
9
|
+
- 0
|
10
|
+
version: 0.2.0
|
11
11
|
platform: ruby
|
12
12
|
authors:
|
13
13
|
- mikezter
|
14
|
+
- alphaone
|
14
15
|
autorequire:
|
15
16
|
bindir: bin
|
16
17
|
cert_chain: []
|
17
18
|
|
18
|
-
date:
|
19
|
+
date: 2011-05-23 00:00:00 +02:00
|
19
20
|
default_executable:
|
20
21
|
dependencies: []
|
21
22
|
|
22
23
|
description: "Beim Datentr\xC3\xA4geraustausch (DTA) werden Zahlungsverkehrsdaten - also \xC3\x9Cberweisungen und Lastschriften - als Datei an ein Geldinstitut \xC3\xBCbergeben. Dieser Gem stellt Klassen bereit solche Dateien zu erzeugen."
|
23
|
-
email:
|
24
|
+
email:
|
25
|
+
- mikezter@gmail.com
|
26
|
+
- tmangner@alphaone.de
|
24
27
|
executables: []
|
25
28
|
|
26
29
|
extensions: []
|
@@ -30,10 +33,22 @@ extra_rdoc_files: []
|
|
30
33
|
files:
|
31
34
|
- README.markdown
|
32
35
|
- LICENSE
|
33
|
-
-
|
34
|
-
- lib/dtaus/erweiterung.rb
|
36
|
+
- Rakefile
|
35
37
|
- lib/dtaus/buchung.rb
|
38
|
+
- lib/dtaus/converter.rb
|
39
|
+
- lib/dtaus/datensatz.rb
|
40
|
+
- lib/dtaus/dta_generator.rb
|
41
|
+
- lib/dtaus/erweiterung.rb
|
42
|
+
- lib/dtaus/exceptions.rb
|
36
43
|
- lib/dtaus/konto.rb
|
44
|
+
- lib/dtaus/validator.rb
|
45
|
+
- lib/dtaus.rb
|
46
|
+
- example/example.rb
|
47
|
+
- test/buchung_test.rb
|
48
|
+
- test/converter_test.rb
|
49
|
+
- test/datensatz_test.rb
|
50
|
+
- test/erweiterung_test.rb
|
51
|
+
- test/konto_test.rb
|
37
52
|
has_rdoc: true
|
38
53
|
homepage: http://github.com/mikezter/dtaus
|
39
54
|
licenses: []
|
@@ -64,9 +79,13 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
64
79
|
requirements: []
|
65
80
|
|
66
81
|
rubyforge_project:
|
67
|
-
rubygems_version: 1.
|
82
|
+
rubygems_version: 1.6.2
|
68
83
|
signing_key:
|
69
84
|
specification_version: 3
|
70
85
|
summary: DTAUS allows to easily create DTAUS files for the german banking sector
|
71
|
-
test_files:
|
72
|
-
|
86
|
+
test_files:
|
87
|
+
- test/buchung_test.rb
|
88
|
+
- test/converter_test.rb
|
89
|
+
- test/datensatz_test.rb
|
90
|
+
- test/erweiterung_test.rb
|
91
|
+
- test/konto_test.rb
|