expectations 0.0.3 → 0.0.4
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 +3 -1
- data/lib/expectations/expectation.rb +4 -3
- data/lib/expectations/results.rb +12 -1
- data/lib/expectations/suite_results.rb +14 -10
- data/rakefile.rb +1 -1
- data/test/expectations/expectation_test.rb +1 -1
- data/test/expectations/results_test.rb +2 -2
- data/test/sample_expectations_test.rb +12 -0
- metadata +1 -1
data/README
CHANGED
@@ -20,10 +20,11 @@ class Expectations::Expectation
|
|
20
20
|
self.extend(Expectations::Results::Fulfilled)
|
21
21
|
rescue Mocha::ExpectationError => ex
|
22
22
|
self.extend(Expectations::Results::BehaviorFailure)
|
23
|
-
self.message = ex.message
|
23
|
+
self.message = ex.message
|
24
24
|
rescue Exception => ex
|
25
|
-
self.extend(Expectations::Results::
|
25
|
+
self.extend(Expectations::Results::BehaviorBasedError)
|
26
26
|
self.exception = ex
|
27
|
+
self.message = ""
|
27
28
|
ensure
|
28
29
|
mocha_teardown
|
29
30
|
end
|
@@ -36,7 +37,7 @@ class Expectations::Expectation
|
|
36
37
|
return self.extend(Expectations::Results::Fulfilled) if expected == actual
|
37
38
|
rescue Exception => ex
|
38
39
|
return self.extend(Expectations::Results::Fulfilled) if expected == ex.class
|
39
|
-
self.extend(Expectations::Results::
|
40
|
+
self.extend(Expectations::Results::StateBasedError)
|
40
41
|
self.exception = ex
|
41
42
|
self.actual = ex.class if expected.is_a?(Class) && expected < StandardError
|
42
43
|
return self
|
data/lib/expectations/results.rb
CHANGED
@@ -46,9 +46,20 @@ module Expectations::Results
|
|
46
46
|
end
|
47
47
|
|
48
48
|
module Expectations::Results
|
49
|
-
module
|
49
|
+
module BehaviorBasedError
|
50
|
+
attr_accessor :exception, :message
|
51
|
+
include Expectations::Results
|
52
|
+
char "E"
|
53
|
+
end
|
54
|
+
end
|
55
|
+
|
56
|
+
module Expectations::Results
|
57
|
+
module StateBasedError
|
50
58
|
attr_accessor :exception
|
51
59
|
include Expectations::Results
|
52
60
|
char "E"
|
61
|
+
def message
|
62
|
+
"expected: <#{expected.inspect}> got: <#{actual.inspect}>"
|
63
|
+
end
|
53
64
|
end
|
54
65
|
end
|
@@ -18,7 +18,9 @@ class Expectations::SuiteResults
|
|
18
18
|
end
|
19
19
|
|
20
20
|
def errors
|
21
|
-
expectations.select
|
21
|
+
expectations.select do |expectation|
|
22
|
+
expectation.is_a?(Expectations::Results::StateBasedError) || expectation.is_a?(Expectations::Results::BehaviorBasedError)
|
23
|
+
end
|
22
24
|
end
|
23
25
|
|
24
26
|
def failures
|
@@ -35,18 +37,20 @@ class Expectations::SuiteResults
|
|
35
37
|
out.puts "\nSuccess: #{fulfilled.size} fulfilled"
|
36
38
|
else
|
37
39
|
out.puts "\nFailure: #{failures.size} failed, #{errors.size} errors, #{fulfilled.size} fulfilled"
|
38
|
-
out.puts "\
|
40
|
+
out.puts "\n--Errors--" if errors.any?
|
39
41
|
errors.each do |error|
|
40
|
-
out.puts " #{error.file}:#{error.line}:in `expect'"
|
41
|
-
out.puts "
|
42
|
-
out.puts "
|
43
|
-
out.puts "
|
42
|
+
out.puts " #{error.file}:#{error.line}:in `expect'" if ENV["TM_MODE"]
|
43
|
+
out.puts "file <#{error.file}>"
|
44
|
+
out.puts "line <#{error.line}>"
|
45
|
+
out.puts "error <#{error.exception.message}>"
|
46
|
+
out.puts "#{error.message}\n\n" if error.message.any?
|
44
47
|
end
|
45
|
-
out.puts "\
|
48
|
+
out.puts "\n--Failures--" if failures.any?
|
46
49
|
failures.each do |failure|
|
47
|
-
out.puts " #{failure.file}:#{failure.line}:in `expect'"
|
48
|
-
out.puts "
|
49
|
-
out.puts "
|
50
|
+
out.puts " #{failure.file}:#{failure.line}:in `expect'" if ENV["TM_MODE"]
|
51
|
+
out.puts "file <#{failure.file}>"
|
52
|
+
out.puts "line <#{failure.line}>"
|
53
|
+
out.puts "#{failure.message}\n\n"
|
50
54
|
end
|
51
55
|
end
|
52
56
|
end
|
data/rakefile.rb
CHANGED
@@ -41,7 +41,7 @@ specification = Gem::Specification.new do |s|
|
|
41
41
|
expect NoMethodError do
|
42
42
|
Object.invalid_method_call
|
43
43
|
end."
|
44
|
-
s.version = "0.0.
|
44
|
+
s.version = "0.0.4"
|
45
45
|
s.author = 'Jay Fields'
|
46
46
|
s.description = "A lightweight unit testing framework. Tests (expectations) will be written as follows
|
47
47
|
expect 2 do
|
@@ -10,7 +10,7 @@ Expectations do
|
|
10
10
|
end
|
11
11
|
|
12
12
|
expect true do
|
13
|
-
Expectations::Expectation.new(1) { raise }.execute.is_a?(Expectations::Results::
|
13
|
+
Expectations::Expectation.new(1) { raise }.execute.is_a?(Expectations::Results::StateBasedError)
|
14
14
|
end
|
15
15
|
|
16
16
|
expect NoMethodError do
|
@@ -15,7 +15,7 @@ Expectations do
|
|
15
15
|
end
|
16
16
|
|
17
17
|
expect "E" do
|
18
|
-
Object.new.extend(Expectations::Results::
|
18
|
+
Object.new.extend(Expectations::Results::BehaviorBasedError).char
|
19
19
|
end
|
20
20
|
|
21
21
|
expect true do
|
@@ -31,7 +31,7 @@ Expectations do
|
|
31
31
|
end
|
32
32
|
|
33
33
|
expect false do
|
34
|
-
Object.new.extend(Expectations::Results::
|
34
|
+
Object.new.extend(Expectations::Results::BehaviorBasedError).fulfilled?
|
35
35
|
end
|
36
36
|
|
37
37
|
end
|
@@ -23,4 +23,16 @@ Expectations do
|
|
23
23
|
Object.deal(1)
|
24
24
|
end
|
25
25
|
|
26
|
+
# expect Object.to_receive(:deal).with(1) do
|
27
|
+
# Object.deals(1)
|
28
|
+
# end
|
29
|
+
#
|
30
|
+
# expect Object.to_receive(:deal).with(1) do
|
31
|
+
# Object.deal(2)
|
32
|
+
# end
|
33
|
+
#
|
34
|
+
# expect Object.to_receive(:deal).with(1) do
|
35
|
+
# Object.deal(1)
|
36
|
+
# end
|
37
|
+
|
26
38
|
end
|