CSV-datagen 0.1.0 → 0.1.1
Sign up to get free protection for your applications and to get access to all the features.
- data/lib/defines.rb +7 -0
- data/lib/gen-data.rb +7 -10
- data/lib/read-params.rb +1 -4
- data/test/default-1.ini +0 -0
- data/test/default-2.ini +1 -0
- data/test/param.ini +8 -0
- data/test/param.xml +28 -0
- data/test/test-gen.rb +5 -4
- data/test/test-read-params.rb +3 -3
- metadata +6 -1
data/lib/defines.rb
ADDED
data/lib/gen-data.rb
CHANGED
@@ -51,7 +51,6 @@ class DataGenerator
|
|
51
51
|
end
|
52
52
|
if fa.size == 1
|
53
53
|
raise 'date has unrecognized format'
|
54
|
-
return ''
|
55
54
|
end
|
56
55
|
res = ''
|
57
56
|
fa.each do | var |
|
@@ -67,7 +66,6 @@ class DataGenerator
|
|
67
66
|
res += ( gen_int( 150 ) + 1900).to_s
|
68
67
|
else
|
69
68
|
raise 'date has unrecognized format'
|
70
|
-
return ''
|
71
69
|
end
|
72
70
|
res += del
|
73
71
|
end
|
@@ -78,7 +76,6 @@ class DataGenerator
|
|
78
76
|
fa = format.split(':')
|
79
77
|
if fa.size == 1
|
80
78
|
raise 'time has unrecognized format'
|
81
|
-
return ''
|
82
79
|
end
|
83
80
|
is24 = true
|
84
81
|
if fa[0] == '12'
|
@@ -90,6 +87,7 @@ class DataGenerator
|
|
90
87
|
res = ''
|
91
88
|
del = ':'
|
92
89
|
h = 0
|
90
|
+
shTime = " AM"
|
93
91
|
fa.each do | var |
|
94
92
|
var = var.downcase
|
95
93
|
case var
|
@@ -97,7 +95,11 @@ class DataGenerator
|
|
97
95
|
if is24
|
98
96
|
res += gen_int(24).to_s
|
99
97
|
else
|
100
|
-
h = gen_int(
|
98
|
+
h = gen_int(24000) / 1000
|
99
|
+
if h > 12
|
100
|
+
h = h - 12
|
101
|
+
shTime = " PM"
|
102
|
+
end
|
101
103
|
res += h.to_s
|
102
104
|
end
|
103
105
|
when 'm'
|
@@ -106,17 +108,12 @@ class DataGenerator
|
|
106
108
|
res += gen_int(1000).to_s
|
107
109
|
else
|
108
110
|
raise 'time has unrecognized format'
|
109
|
-
return ''
|
110
111
|
end
|
111
112
|
res += del
|
112
113
|
end
|
113
114
|
res = res[0..-2]
|
114
115
|
if not is24
|
115
|
-
|
116
|
-
res += ' PM'
|
117
|
-
else
|
118
|
-
res += ' AM'
|
119
|
-
end
|
116
|
+
res += shTime
|
120
117
|
end
|
121
118
|
return res
|
122
119
|
end
|
data/lib/read-params.rb
CHANGED
@@ -1,11 +1,8 @@
|
|
1
1
|
#Class that read params from settings file
|
2
|
+
require '.\lib\defines'
|
2
3
|
|
3
4
|
module GenCSV
|
4
5
|
|
5
|
-
DEFAULT_OUT_FILE = "out-data.csv"
|
6
|
-
DEFAULT_LINES_COUNT = 100
|
7
|
-
DEFAULT_HEADERS = false
|
8
|
-
|
9
6
|
class ParamsReader
|
10
7
|
attr_reader :out #out file name
|
11
8
|
attr_reader :lines #lines count for generated csv
|
data/test/default-1.ini
ADDED
File without changes
|
data/test/default-2.ini
ADDED
@@ -0,0 +1 @@
|
|
1
|
+
int,id,1000
|
data/test/param.ini
ADDED
data/test/param.xml
ADDED
@@ -0,0 +1,28 @@
|
|
1
|
+
<?xml version="1.0" encoding="UTF-8"?>
|
2
|
+
<parameters>
|
3
|
+
<out>out-data.csv</out>
|
4
|
+
<lines>1000</lines>
|
5
|
+
<headers>true</headers>
|
6
|
+
<fields>
|
7
|
+
<field>
|
8
|
+
<type max="1000">int</type>
|
9
|
+
<name>id</name>
|
10
|
+
</field>
|
11
|
+
<field>
|
12
|
+
<type length="80">string</type>
|
13
|
+
<name>name</name>
|
14
|
+
</field>
|
15
|
+
<field>
|
16
|
+
<type max="1000" decimal="2">float</type>
|
17
|
+
<name>price</name>
|
18
|
+
</field>
|
19
|
+
<field>
|
20
|
+
<type dformat="dd/mm/yyyy" tformat="h:m:ms" topt="12" wday="true" wdaypos="begin">dtime</type>
|
21
|
+
<name>dtime</name>
|
22
|
+
</field>
|
23
|
+
<field>
|
24
|
+
<type tformat="h:m" dformat="yy/mm/dd" topt="24" wday="false">tdate</type>
|
25
|
+
<name>tdate</name>
|
26
|
+
</field>
|
27
|
+
</fields>
|
28
|
+
</parameters>
|
data/test/test-gen.rb
CHANGED
@@ -10,6 +10,7 @@ class DataGeneratorTestCase < Test::Unit::TestCase
|
|
10
10
|
first = @gen.gen_int(1000)
|
11
11
|
second = @gen.gen_int(1000)
|
12
12
|
assert_not_equal(first, second)
|
13
|
+
assert_equal(1, @gen.gen_int(1))
|
13
14
|
end
|
14
15
|
|
15
16
|
def test_string_generation
|
@@ -44,14 +45,14 @@ class DataGeneratorTestCase < Test::Unit::TestCase
|
|
44
45
|
assert_match(/[0-9]+\/[0-9]+\/[0-9][0-9][0-9][0-9]/,@gen.gen_date("DD/MM/YYYY"))
|
45
46
|
assert_match(/[0-9]+\:[0-9]+\:[0-9]+/,@gen.gen_date("DD:MM:YY"))
|
46
47
|
assert_match(/[0-9]+\:[0-9]+\:[0-9][0-9][0-9][0-9]/,@gen.gen_date("DD:MM:YYYY"))
|
47
|
-
|
48
|
-
|
48
|
+
assert_raise(RuntimeError) {@gen.gen_date("h:m:ms")}
|
49
|
+
assert_raise(RuntimeError) {@gen.gen_date("1;2;3")}
|
49
50
|
end
|
50
51
|
|
51
52
|
def test_time_generation
|
52
53
|
assert_match(/[0-9]+\:[0-9]+\:[0-9]+\s[AM,PM]/,@gen.gen_time("12:h:m:ms"))
|
53
54
|
assert_match(/[0-9]+\:[0-9]+\:[0-9]+/,@gen.gen_time("h:m:ms"))
|
54
|
-
|
55
|
-
|
55
|
+
assert_raise(RuntimeError) {@gen.gen_time("hh:mm:ms")}
|
56
|
+
assert_raise(RuntimeError) {@gen.gen_time("12/h/m/ms")}
|
56
57
|
end
|
57
58
|
end
|
data/test/test-read-params.rb
CHANGED
@@ -6,7 +6,7 @@ require 'lib\read-params'
|
|
6
6
|
class ParamsReadTestCase < Test::Unit::TestCase
|
7
7
|
|
8
8
|
def test_first # use for test including file 'param.ini'
|
9
|
-
reader = GenCSV::ParamsReader.new('.\param.ini')
|
9
|
+
reader = GenCSV::ParamsReader.new('.\test\param.ini')
|
10
10
|
assert_equal("out-data.csv", reader.out)
|
11
11
|
assert_equal(1000, reader.lines)
|
12
12
|
assert_equal(true, reader.headers)
|
@@ -14,7 +14,7 @@ class ParamsReadTestCase < Test::Unit::TestCase
|
|
14
14
|
end
|
15
15
|
|
16
16
|
def test_default_1_params
|
17
|
-
reader = GenCSV::ParamsReader.new('.\default-1.ini')
|
17
|
+
reader = GenCSV::ParamsReader.new('.\test\default-1.ini')
|
18
18
|
assert_equal(GenCSV::DEFAULT_OUT_FILE, reader.out)
|
19
19
|
assert_equal(GenCSV::DEFAULT_LINES_COUNT, reader.lines)
|
20
20
|
assert_equal(GenCSV::DEFAULT_HEADERS, reader.headers)
|
@@ -22,7 +22,7 @@ class ParamsReadTestCase < Test::Unit::TestCase
|
|
22
22
|
end
|
23
23
|
|
24
24
|
def test_default_2_params
|
25
|
-
reader = GenCSV::ParamsReader.new('.\default-2.ini')
|
25
|
+
reader = GenCSV::ParamsReader.new('.\test\default-2.ini')
|
26
26
|
assert_equal(GenCSV::DEFAULT_OUT_FILE, reader.out)
|
27
27
|
assert_equal(GenCSV::DEFAULT_LINES_COUNT, reader.lines)
|
28
28
|
assert_equal(GenCSV::DEFAULT_HEADERS, reader.headers)
|
metadata
CHANGED
@@ -3,7 +3,7 @@ rubygems_version: 0.9.2
|
|
3
3
|
specification_version: 1
|
4
4
|
name: CSV-datagen
|
5
5
|
version: !ruby/object:Gem::Version
|
6
|
-
version: 0.1.
|
6
|
+
version: 0.1.1
|
7
7
|
date: 2007-04-02 00:00:00 +04:00
|
8
8
|
summary: A free tool for generating random data for testing purposes.
|
9
9
|
require_paths:
|
@@ -30,11 +30,16 @@ authors:
|
|
30
30
|
- Dmitry Maksimov
|
31
31
|
files:
|
32
32
|
- bin/gen-csv.rb
|
33
|
+
- lib/defines.rb
|
33
34
|
- lib/gen-data.rb
|
34
35
|
- lib/read-params.rb
|
35
36
|
- lib/version.rb
|
36
37
|
- README.txt
|
37
38
|
test_files:
|
39
|
+
- test/default-1.ini
|
40
|
+
- test/default-2.ini
|
41
|
+
- test/param.ini
|
42
|
+
- test/param.xml
|
38
43
|
- test/test-gen.rb
|
39
44
|
- test/test-read-params.rb
|
40
45
|
rdoc_options: []
|