dynport_tools 0.2.4 → 0.2.5

Sign up to get free protection for your applications and to get access to all the features.
data/VERSION CHANGED
@@ -1 +1 @@
1
- 0.2.4
1
+ 0.2.5
@@ -5,7 +5,7 @@
5
5
 
6
6
  Gem::Specification.new do |s|
7
7
  s.name = %q{dynport_tools}
8
- s.version = "0.2.4"
8
+ s.version = "0.2.5"
9
9
 
10
10
  s.required_rubygems_version = Gem::Requirement.new(">= 0") if s.respond_to? :required_rubygems_version=
11
11
  s.authors = ["Tobias Schwab"]
@@ -34,12 +34,13 @@ Gem::Specification.new do |s|
34
34
  "lib/dynport_tools.rb",
35
35
  "lib/dynport_tools/deep_merger.rb",
36
36
  "lib/dynport_tools/differ.rb",
37
+ "lib/dynport_tools/have_attributes.rb",
37
38
  "lib/dynport_tools/jenkins.rb",
38
39
  "lib/dynport_tools/redis_dumper.rb",
39
40
  "lib/dynport_tools/xml_file.rb",
40
- "lib/have_attributes.rb",
41
41
  "spec/dynport_tools/deep_merger_spec.rb",
42
42
  "spec/dynport_tools/differ_spec.rb",
43
+ "spec/dynport_tools/have_attributes_spec.rb",
43
44
  "spec/dynport_tools/jenkins_spec.rb",
44
45
  "spec/dynport_tools/redis_dumper_spec.rb",
45
46
  "spec/dynport_tools/xml_file_spec.rb",
data/lib/dynport_tools.rb CHANGED
@@ -1,4 +1,4 @@
1
1
  module DynportTools
2
2
  end
3
3
 
4
- %w(deep_merger differ jenkins redis_dumper xml_file).map { |m| require "dynport_tools/#{m}" }
4
+ %w(deep_merger differ jenkins redis_dumper xml_file have_attributes).map { |m| require "dynport_tools/#{m}" }
@@ -1,12 +1,11 @@
1
- require File.expand_path("../../../lib/differ", __FILE__)
2
- module HaveAttributesMatcher
1
+ module DynportTools::HaveAttributesMatcher
3
2
  class HaveAttributes
4
3
  def initialize(expected)
5
4
  @expected = expected
6
5
  end
7
6
 
8
7
  def differ
9
- @differ ||= Differ.new(:diff_all => false)
8
+ @differ ||= DynportTools::Differ.new(:diff_all => false)
10
9
  end
11
10
 
12
11
  def matches?(target)
@@ -0,0 +1,52 @@
1
+ require 'spec_helper'
2
+ require "ostruct"
3
+
4
+ describe "DynportTools::HaveAttributesMatcher" do
5
+ include DynportTools::HaveAttributesMatcher
6
+
7
+ it "returns a correct error message error message" do
8
+ matcher = DynportTools::HaveAttributesMatcher::HaveAttributes.new(:a => 1)
9
+ matcher.matches?(:a => 2).should == false
10
+ matcher.failure_message.should == "expected a to be <1> but was <2>"
11
+ end
12
+
13
+ it "returns true when arrays are equal" do
14
+ matcher = DynportTools::HaveAttributesMatcher::HaveAttributes.new(:a => 1)
15
+ matcher.matches?(:a => 1).should be_true
16
+ end
17
+
18
+ it "returns true when expected hash as viewer values than target" do
19
+ matcher = DynportTools::HaveAttributesMatcher::HaveAttributes.new(:a => 1)
20
+ matcher.matches?(:a => 1, :b => 2).should be_true
21
+ end
22
+
23
+ it "returns false when expected hash as viewer values than target but HaveAllAttributes is used" do
24
+ matcher = DynportTools::HaveAttributesMatcher::HaveAllAttributes.new(:a => 1)
25
+ matcher.matches?(:a => 1, :b => 2).should be_false
26
+ matcher.failure_message.should == "expected b to be <nil> but was <2>"
27
+ end
28
+
29
+ it "returns true when object returns the correct values" do
30
+ struct = OpenStruct.new(:a => 1, :b => 2)
31
+ matcher = DynportTools::HaveAttributesMatcher::ReturnValues.new(:a => 1)
32
+ matcher.matches?(struct).should be_true
33
+ end
34
+
35
+ it "returns false when object returns other values" do
36
+ struct = OpenStruct.new(:a => 1, :b => 3)
37
+ matcher = DynportTools::HaveAttributesMatcher::ReturnValues.new(:a => 1, :b => 2)
38
+ matcher.matches?(struct).should be_false
39
+ matcher.failure_message.should == "expected b to return <2> but did <3>"
40
+ end
41
+
42
+ it "returns the correct error message for complex hashes" do
43
+ matcher = DynportTools::HaveAttributesMatcher::HaveAttributes.new(:a => { :b => [1] })
44
+ matcher.matches?(:a => { :b => [2] }).should be_false
45
+ matcher.failure_message.should == "expected a[b][0] to be <1> but was <2>"
46
+ end
47
+
48
+ it "returns false when target hash as viewer values than expected" do
49
+ matcher = DynportTools::HaveAttributesMatcher::HaveAttributes.new(:a => 1, :b => 2)
50
+ matcher.matches?(:a => 1).should be_false
51
+ end
52
+ end
metadata CHANGED
@@ -1,13 +1,13 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: dynport_tools
3
3
  version: !ruby/object:Gem::Version
4
- hash: 31
4
+ hash: 29
5
5
  prerelease:
6
6
  segments:
7
7
  - 0
8
8
  - 2
9
- - 4
10
- version: 0.2.4
9
+ - 5
10
+ version: 0.2.5
11
11
  platform: ruby
12
12
  authors:
13
13
  - Tobias Schwab
@@ -207,12 +207,13 @@ files:
207
207
  - lib/dynport_tools.rb
208
208
  - lib/dynport_tools/deep_merger.rb
209
209
  - lib/dynport_tools/differ.rb
210
+ - lib/dynport_tools/have_attributes.rb
210
211
  - lib/dynport_tools/jenkins.rb
211
212
  - lib/dynport_tools/redis_dumper.rb
212
213
  - lib/dynport_tools/xml_file.rb
213
- - lib/have_attributes.rb
214
214
  - spec/dynport_tools/deep_merger_spec.rb
215
215
  - spec/dynport_tools/differ_spec.rb
216
+ - spec/dynport_tools/have_attributes_spec.rb
216
217
  - spec/dynport_tools/jenkins_spec.rb
217
218
  - spec/dynport_tools/redis_dumper_spec.rb
218
219
  - spec/dynport_tools/xml_file_spec.rb