CSV-datagen 0.1.0 → 0.1.1
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/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: []
|