test_data_generator_with_constraints 0.0.4 → 0.0.5

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: c112cb640a5d75ebd990dbab4749826038557028
4
- data.tar.gz: a486c56400607f4dcd778051d8a98695389785b4
3
+ metadata.gz: 490ae0c14da533da6c0e725fe3e305a8ef419799
4
+ data.tar.gz: d0951429b56ca3866be88026fac8f67c97734497
5
5
  SHA512:
6
- metadata.gz: e54b7cc168a5f94132584f613529115e2725dc2f3446ed2277aec0a8c24d5e12608cdef28b03d029fa627cbcecb2fb98ebcbbdf2bf5027dbbb85de8624a7cde0
7
- data.tar.gz: d130b3d34bcdc8bd1aeeb01cf72d110a5847687a457dcdf63d2734dc01593df692d471bf0adbc2c716986c1f811e7da568fd3116564129c2a3b8dcf06ec72a31
6
+ metadata.gz: 9a42beda407648e64251c8ec97054f51a64297b2e0c0c177f359b6509c92c5cd6e731410178f655f2ef06888599ff2f09b214fa01ed3d6f7425faa1b34669017
7
+ data.tar.gz: 2c9c331b864f555686b888fec2b8f9e035b2b0ebc3d0c9f70d35a64a62c8f4c29269d38e27f7c3ee6af16bde6ebeb65f4fecc86d642b3c8e65dbb90bc586c244
data/Gemfile CHANGED
@@ -3,6 +3,7 @@ source "http://rubygems.org"
3
3
  # Example:
4
4
  # gem "activesupport", ">= 2.3.5"
5
5
  gem "pairwise", "~> 0.2.1"
6
+ gem "sourcify", "~> 0.5.0"
6
7
  # Add dependencies to develop your gem here.
7
8
  # Include everything needed to run rake, tests, features, etc.
8
9
  group :development do
@@ -12,4 +13,5 @@ group :development do
12
13
  gem "jeweler", "~> 2.0.1"
13
14
  gem "simplecov", ">= 0"
14
15
  gem "pairwise", "~> 0.2.1"
16
+ gem "sourcify", "~> 0.5.0"
15
17
  end
data/Gemfile.lock CHANGED
@@ -8,6 +8,8 @@ GEM
8
8
  docile (1.1.3)
9
9
  faraday (0.9.0)
10
10
  multipart-post (>= 1.2, < 3)
11
+ file-tail (1.0.12)
12
+ tins (~> 0.5)
11
13
  git (1.2.6)
12
14
  github_api (0.11.2)
13
15
  addressable (~> 2.3)
@@ -56,11 +58,23 @@ GEM
56
58
  rspec-expectations (2.8.0)
57
59
  diff-lcs (~> 1.1.2)
58
60
  rspec-mocks (2.8.0)
61
+ ruby2ruby (2.0.7)
62
+ ruby_parser (~> 3.1)
63
+ sexp_processor (~> 4.0)
64
+ ruby_parser (3.4.1)
65
+ sexp_processor (~> 4.1)
66
+ sexp_processor (4.4.1)
59
67
  simplecov (0.8.2)
60
68
  docile (~> 1.1.0)
61
69
  multi_json
62
70
  simplecov-html (~> 0.8.0)
63
71
  simplecov-html (0.8.0)
72
+ sourcify (0.5.0)
73
+ file-tail (>= 1.0.5)
74
+ ruby2ruby (>= 1.2.5)
75
+ ruby_parser (>= 2.0.5)
76
+ sexp_processor (>= 3.0.5)
77
+ tins (0.13.2)
64
78
 
65
79
  PLATFORMS
66
80
  ruby
@@ -72,3 +86,4 @@ DEPENDENCIES
72
86
  rdoc (~> 3.12)
73
87
  rspec (~> 2.8.0)
74
88
  simplecov
89
+ sourcify (~> 0.5.0)
data/VERSION CHANGED
@@ -1 +1 @@
1
- 0.0.4
1
+ 0.0.5
@@ -1,27 +1,30 @@
1
- complexConstraint = lambda {|t| t if ((t[:inner4] != t[:inner5]) && (t[:innermost2] != t[:innermost3]) && (t[:innermost1] > 3))}
1
+ outerConstraint = proc {|t| t if (t[:inner4] != t[:inner5])}
2
+ innerConstraint1 = lambda {|t| t if (t[:innermost2] != t[:innermost3])}
3
+ innerConstraint2 = lambda {|t| t if (t[:innermost1] > 3)}
2
4
  $dataModel =
3
5
  {
4
6
  model:
5
7
  {
6
- outer1:
7
- {
8
- inner1:
9
- {
10
- innermost1: (1..5),
11
- innermost2: [true, false],
12
- innermost3: [true, false]
13
- },
14
- inner2: [1,-1]
15
- },
16
- outer2:
17
- {
18
- inner3: (1..3),
19
- inner4: [true, false],
20
- inner5: [true, false]
21
- }
8
+ outer1:
9
+ {
10
+ inner1:
11
+ {
12
+ innermost1: (1..5),
13
+ innermost2: [true, false],
14
+ innermost3: [true, false]
15
+ },
16
+ inner2: [1,-1]
17
+ },
18
+ outer2:
19
+ {
20
+ inner3: (1..3),
21
+ inner4: [true, false],
22
+ inner5: [true, false]
23
+ }
22
24
  },
23
25
  constraints:
24
26
  {
25
- model: [complexConstraint]
27
+ inner1: [innerConstraint1, innerConstraint2],
28
+ outer2: [outerConstraint]
26
29
  }
27
30
  }
@@ -1,5 +1,6 @@
1
1
  require 'singleton'
2
2
  require 'pairwise'
3
+ require 'sourcify'
3
4
  require 'pp'
4
5
 
5
6
  # Top level class used by cbtdg.rb commandline tool to traverse through
@@ -23,7 +24,7 @@ class TestDataGeneratorWithConstraints
23
24
  if !outPutFilePath.nil?
24
25
  outputFile = File.open(outPutFilePath, "w")
25
26
  begin
26
- writeToFile(outputFile, dataModelWithConstraints[:model], testTuples)
27
+ writeToFile(outputFile, dataModelWithConstraints, testTuples)
27
28
  rescue IOError => e
28
29
  puts e
29
30
  ensure
@@ -68,6 +69,7 @@ private
68
69
  elsif (data.is_a? Array) && (data[0].is_a? Regexp)
69
70
  length = data[1].nil? ? 1 : data[1]
70
71
  count = data[2].nil? ? 10 : data[2]
72
+ #generateRandomStringsFromRegEx(data[0], length, count)
71
73
  else
72
74
  data.to_a.collect{|a| [key,a]}
73
75
  end
@@ -99,24 +101,23 @@ private
99
101
 
100
102
  def writeToFile(outputFile, dataModel, testTuples)
101
103
  outputFile.write("MODEL:\n\n")
102
- PP.pp(dataModel, outputFile)
103
- #outputFile.write(dataModel.to_s)
104
+ PP.pp(dataModel[:model], outputFile)
104
105
  outputFile.write("\n------------------------\n\n")
106
+ if (!@constraints.nil?)
107
+ outputFile.write("CONSTRAINTS:\n\n")
108
+ dataModel[:constraints].each do |k, v|
109
+ outputFile.write("#{k}:\n")
110
+ v.each do |c|
111
+ outputFile.write("\t#{c.to_source}:\n")
112
+ end
113
+ end
114
+ outputFile.write("\n------------------------\n\n")
115
+ end
105
116
  outputFile.write("GENERATED TEST DATA:\n\n")
106
117
  testTuples.each_index do |i|
107
118
  outputFile.write("#{i+1}. #{testTuples[i].to_s}\n")
108
119
  end
109
120
  outputFile.write("------------------------\n\n")
110
-
111
- # outputFile.write("INTERMEDIATE DATA:\n\n")
112
-
113
- # @pairWiseData.each do |k, v|
114
- # outputFile.write("#{k} : \n")
115
- # PP.pp(v, outputFile)
116
- # outputFile.write("\n")
117
- # #outputFile.write("#{k} : \n #{v.to_s}\n")
118
- # end
119
- # outputFile.write("------------------------\n\n")
120
121
  end
121
122
 
122
123
  # This is copied from the pairwise gem as the array of arrays
@@ -157,9 +158,9 @@ private
157
158
  loop do
158
159
  string = (1..length).collect{rand(0..255).chr}.join
159
160
  regex.match((1..length).collect{rand(0..255).chr}.join) {|m| strings << m.to_s if !m.nil?}
160
- break if (strings.count != count)
161
- #strings << string if string.match(regex)
161
+ break if (strings.count == count)
162
162
  end
163
+ puts strings.to_s
163
164
  strings
164
165
  end
165
166
  end
@@ -9,7 +9,7 @@ describe "TestDataGeneratorWithConstraints" do
9
9
  model:
10
10
  {
11
11
  supply: (0..3),
12
- demand: (0..3)
12
+ demand: (0..3)
13
13
  },
14
14
  constraints: {}
15
15
  }
@@ -23,7 +23,7 @@ describe "TestDataGeneratorWithConstraints" do
23
23
  model:
24
24
  {
25
25
  supply: (0..3),
26
- demand: (0..3)
26
+ demand: (0..3)
27
27
  },
28
28
  constraints:
29
29
  {
@@ -5,11 +5,11 @@
5
5
 
6
6
  Gem::Specification.new do |s|
7
7
  s.name = "test_data_generator_with_constraints"
8
- s.version = "0.0.4"
8
+ s.version = "0.0.5"
9
9
 
10
10
  s.required_rubygems_version = Gem::Requirement.new(">= 0") if s.respond_to? :required_rubygems_version=
11
11
  s.authors = ["jatla"]
12
- s.date = "2014-03-13"
12
+ s.date = "2014-03-14"
13
13
  s.description = "Given a model as ruby hash and constraints as ruby procs, test data is generated based on allpairs methodology and constraints applied to prune the data set"
14
14
  s.email = "jayaprakash.atla@gmail.com"
15
15
  s.executables = ["test_data_generator_with_constraints.rb"]
@@ -46,29 +46,35 @@ Gem::Specification.new do |s|
46
46
 
47
47
  if Gem::Version.new(Gem::VERSION) >= Gem::Version.new('1.2.0') then
48
48
  s.add_runtime_dependency(%q<pairwise>, ["~> 0.2.1"])
49
+ s.add_runtime_dependency(%q<sourcify>, ["~> 0.5.0"])
49
50
  s.add_development_dependency(%q<rspec>, ["~> 2.8.0"])
50
51
  s.add_development_dependency(%q<rdoc>, ["~> 3.12"])
51
52
  s.add_development_dependency(%q<bundler>, ["~> 1.0"])
52
53
  s.add_development_dependency(%q<jeweler>, ["~> 2.0.1"])
53
54
  s.add_development_dependency(%q<simplecov>, [">= 0"])
54
55
  s.add_development_dependency(%q<pairwise>, ["~> 0.2.1"])
56
+ s.add_development_dependency(%q<sourcify>, ["~> 0.5.0"])
55
57
  else
56
58
  s.add_dependency(%q<pairwise>, ["~> 0.2.1"])
59
+ s.add_dependency(%q<sourcify>, ["~> 0.5.0"])
57
60
  s.add_dependency(%q<rspec>, ["~> 2.8.0"])
58
61
  s.add_dependency(%q<rdoc>, ["~> 3.12"])
59
62
  s.add_dependency(%q<bundler>, ["~> 1.0"])
60
63
  s.add_dependency(%q<jeweler>, ["~> 2.0.1"])
61
64
  s.add_dependency(%q<simplecov>, [">= 0"])
62
65
  s.add_dependency(%q<pairwise>, ["~> 0.2.1"])
66
+ s.add_dependency(%q<sourcify>, ["~> 0.5.0"])
63
67
  end
64
68
  else
65
69
  s.add_dependency(%q<pairwise>, ["~> 0.2.1"])
70
+ s.add_dependency(%q<sourcify>, ["~> 0.5.0"])
66
71
  s.add_dependency(%q<rspec>, ["~> 2.8.0"])
67
72
  s.add_dependency(%q<rdoc>, ["~> 3.12"])
68
73
  s.add_dependency(%q<bundler>, ["~> 1.0"])
69
74
  s.add_dependency(%q<jeweler>, ["~> 2.0.1"])
70
75
  s.add_dependency(%q<simplecov>, [">= 0"])
71
76
  s.add_dependency(%q<pairwise>, ["~> 0.2.1"])
77
+ s.add_dependency(%q<sourcify>, ["~> 0.5.0"])
72
78
  end
73
79
  end
74
80
 
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: test_data_generator_with_constraints
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.4
4
+ version: 0.0.5
5
5
  platform: ruby
6
6
  authors:
7
7
  - jatla
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2014-03-13 00:00:00.000000000 Z
11
+ date: 2014-03-14 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: pairwise
@@ -24,6 +24,20 @@ dependencies:
24
24
  - - ~>
25
25
  - !ruby/object:Gem::Version
26
26
  version: 0.2.1
27
+ - !ruby/object:Gem::Dependency
28
+ name: sourcify
29
+ requirement: !ruby/object:Gem::Requirement
30
+ requirements:
31
+ - - ~>
32
+ - !ruby/object:Gem::Version
33
+ version: 0.5.0
34
+ type: :runtime
35
+ prerelease: false
36
+ version_requirements: !ruby/object:Gem::Requirement
37
+ requirements:
38
+ - - ~>
39
+ - !ruby/object:Gem::Version
40
+ version: 0.5.0
27
41
  - !ruby/object:Gem::Dependency
28
42
  name: rspec
29
43
  requirement: !ruby/object:Gem::Requirement
@@ -108,6 +122,20 @@ dependencies:
108
122
  - - ~>
109
123
  - !ruby/object:Gem::Version
110
124
  version: 0.2.1
125
+ - !ruby/object:Gem::Dependency
126
+ name: sourcify
127
+ requirement: !ruby/object:Gem::Requirement
128
+ requirements:
129
+ - - ~>
130
+ - !ruby/object:Gem::Version
131
+ version: 0.5.0
132
+ type: :development
133
+ prerelease: false
134
+ version_requirements: !ruby/object:Gem::Requirement
135
+ requirements:
136
+ - - ~>
137
+ - !ruby/object:Gem::Version
138
+ version: 0.5.0
111
139
  description: Given a model as ruby hash and constraints as ruby procs, test data is
112
140
  generated based on allpairs methodology and constraints applied to prune the data
113
141
  set