the_array_comparator 0.3.4 → 0.4.0

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/README.md CHANGED
@@ -3,9 +3,12 @@
3
3
  [![Code Climate](https://codeclimate.com/badge.png)](https://codeclimate.com/github/maxmeyer/the_array_comparator)
4
4
  [![Build Status](https://travis-ci.org/maxmeyer/the_array_comparator.png?branch=master)](https://travis-ci.org/maxmeyer/the_array_comparator)
5
5
 
6
- Can be used to compare to arrays with a consistent api. It also supports
7
- caching of previous comparism runs to reduce the amount of time for each
8
- subsequent run - if no further check was added.
6
+ The Array Comparator can be used to compare to arrays with a consistent api: It
7
+ lets you write more concise tests and makes error detection in a commandline
8
+ environment easier - see [Use Cases](#use_cases).
9
+
10
+ It also supports caching of previous comparism runs to reduce the amount of
11
+ time for each subsequent run - if no further check was added.
9
12
 
10
13
  ## Installation
11
14
 
@@ -106,6 +109,55 @@ result = comparator.success?
106
109
  puts result #should be false
107
110
  ```
108
111
 
112
+ ### Example with multiple checks
113
+
114
+ ```ruby
115
+ require 'the_array_comparator'
116
+ comparator = TheArrayComparator::Comparator.new
117
+
118
+ data = %w{ acd b }
119
+ keyword_overlap = %w{ a b }
120
+ comparator.add_check data , :contains_all_as_substring, keyword_overlap
121
+
122
+ data = %w{1 2 3 4}
123
+ keywords = %w{ a b }
124
+ comparator.add_check data , :not_contains, keywords
125
+
126
+ result = comparator.success?
127
+ puts result #should be true
128
+ ```
129
+
130
+ ### Example with tag
131
+
132
+ ```ruby
133
+ require 'the_array_comparator'
134
+ comparator = TheArrayComparator::Comparator.new
135
+ data = %w{ a b c d }
136
+ keyword_successfull = %w{ a b }
137
+ keyword_failed = %w{ e }
138
+
139
+ comparator.add_check data , :contains_all , keyword_successfull
140
+ comparator.add_check data , :contains_all , keyword_failed, tag: 'this is a failed sample'
141
+
142
+ comparator.success?
143
+ puts comparator.result.failed_sample
144
+ ```
145
+
146
+ ### Example with access to result
147
+ ```ruby
148
+ require 'the_array_comparator'
149
+ comparator = TheArrayComparator::Comparator.new
150
+
151
+ data = %w{ a c d b }
152
+ keyword_overlap = %w{ a b }
153
+ comparator.add_check data , :not_contains, keyword_overlap
154
+
155
+ p comparator.success?
156
+ p comparator.result.of_checks
157
+ p comparator.result.failed_sample
158
+ ```
159
+
160
+
109
161
  ### Extend the library
110
162
 
111
163
  If you wish to write your own comparators you can do so. Just register those classes with a keyword.
@@ -115,10 +167,50 @@ c = TheArrayComparator::Comparator.new
115
167
  c.register :my_contains, SearchingStrategies::MyContains
116
168
  ```
117
169
 
170
+ ##<a name=use_cases>Use Cases</a>
171
+
172
+ ### Testing
173
+
174
+ ```ruby
175
+ require 'the_array_comparator'
176
+ describe TheArrayComparator
177
+ it "tells you the result of the check" do
178
+ comparator = TheArrayComparator::Comparator.new
179
+ data = %w{ a b c d }
180
+ keyword_overlap = %w{ a b }
181
+ keyword_no_overlap = %w{ e }
182
+
183
+ comparator.add_check data , :contains_all , keyword_overlap
184
+ comparator.add_check data , :not_contains , keyword_no_overlap
185
+
186
+ expect(comparator.success?).to eq(true)
187
+ end
188
+ end
189
+ ```
190
+
191
+ ### Error checking
192
+
193
+ ```ruby
194
+ #!/usr/bin/env ruby
195
+
196
+ require 'open3'
197
+ require 'the_array_comparator'
198
+
199
+ stdout_str, stderr_str, status = Open3.capture3("/usr/bin/env echo error")
200
+
201
+ comparator = TheArrayComparator::Comparator.new
202
+ comparator.add_check stdout_str.split("\n") , :contains_all , %w[ error ]
203
+ comparator.add_check [ status.exitstatus ] , :contains_all , [ 0 ]
204
+
205
+ p comparator.success? #should be true
206
+ ```
207
+
118
208
  ## Further reading
119
209
 
120
- Please the the full api-documentation on [rdoc info](http://rdoc.info/github/maxmeyer/the_array_comparator/frames) for further reading.
121
- I just give you a brief overview of all the available methods. There's also a brief [guide](API-GUIDE.md) about howto discover the API.
210
+ Please see the full api-documentation on [rdoc
211
+ info](http://rdoc.info/github/maxmeyer/the_array_comparator/frames) for further
212
+ reading. There's also a brief [guide](API-GUIDE.md) about howto discover the
213
+ API.
122
214
 
123
215
  ## Contributing
124
216
 
@@ -0,0 +1,3 @@
1
+ v0.3.4, 2013-04-12:
2
+ * Fixed dependency issue with active support
3
+ Due to a wrong gem name `active_support` instead of `activesupport` (correct one) `the_array_comparator depended on `activesupport 3.0.0`
@@ -1,4 +1,4 @@
1
1
  #main TheArrayComparator
2
2
  module TheArrayComparator
3
- VERSION = '0.3.4'
3
+ VERSION = '0.4.0'
4
4
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: the_array_comparator
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.3.4
4
+ version: 0.4.0
5
5
  prerelease:
6
6
  platform: ruby
7
7
  authors: