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.
@@ -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: []