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.
@@ -0,0 +1,7 @@
1
+ #This file contain all commonly used defines
2
+
3
+ module GenCSV
4
+ DEFAULT_OUT_FILE = "out-data.csv"
5
+ DEFAULT_LINES_COUNT = 100
6
+ DEFAULT_HEADERS = false
7
+ end
@@ -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(12)
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
- if h > 12
116
- res += ' PM'
117
- else
118
- res += ' AM'
119
- end
116
+ res += shTime
120
117
  end
121
118
  return res
122
119
  end
@@ -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
File without changes
@@ -0,0 +1 @@
1
+ int,id,1000
@@ -0,0 +1,8 @@
1
+ out,out-data.csv
2
+ lines,1000
3
+ headers,true
4
+ int,id,1000
5
+ string,name,80
6
+ float,price,1000
7
+ dtime,dtime,DD/MM/YY,12:h:m
8
+ tdate,tdate,24:h:m,YYYY/MM/DD
@@ -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>
@@ -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
- assert_equal("",@gen.gen_date("h:m:ms"))
48
- assert_equal("",@gen.gen_date("1;2;3"))
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
- assert_equal("",@gen.gen_time("hh:mm:ms"))
55
- assert_equal("",@gen.gen_time("12/h/m/ms"))
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
@@ -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.0
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: []