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.
@@ -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: 25
5
- prerelease: false
4
+ hash: 23
5
+ prerelease:
6
6
  segments:
7
7
  - 0
8
- - 1
9
- - 1
10
- version: 0.1.1
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: 2010-03-10 00:00:00 +01:00
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: mikezter@gmail.com
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
- - lib/dtaus.rb
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.3.7
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