test_data_generator_with_constraints 0.0.4 → 0.0.5

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.
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