lib/queencheck/rspec.rb in queencheck-0.1.2 vs lib/queencheck/rspec.rb in queencheck-1.0.0
- old
+ new
@@ -1,11 +1,52 @@
+require 'queencheck'
+require 'rspec'
-begin
- require 'queencheck'
-rescue LoadError
- require "pathname"
- $:.unshift Pathname.new(File.expand_path('../../', __FILE__))
- require 'queencheck'
-end
+module RSpec
+ module Core
+ class ExampleGroup
+ def self.QueenCheck(name, *args, &block)
+ describe(*[name]) {
+ report = nil
-require 'rspec'
-require 'queencheck/rspec/dsl'
+ it "running tests" do
+ report = ::QueenCheck::Testable.new(*args, &block).check
+ end
+
+ it "all tests passes" do
+ report.count(:all).should == report.count(:success)
+ end
+ }
+ end
+
+ def self.verboseQueenCheck(name, *args, &block)
+ describe(*[name]) {
+ assert = proc { | *props |
+ proc{ block.call(*props) }
+ }
+ its = proc { | *props |
+ it("Gen: #{props.map{|i| i.inspect}.join(', ')}", &assert.call(*props))
+ }
+ ::QueenCheck::Testable.new(*args, &its).check
+ }
+ end
+
+ def self.labelingQueenCheck(name, labels, *args, &block)
+ checker = ::QueenCheck::Testable.new(*args, &block)
+ report = checker.check_with_label(labels)
+ describe(*[name]) {
+ it "all tests passes" do
+ report.count(:all).should == report.count(:success)
+ end
+
+ describe "labels" do
+ labels.each_pair do | label, p |
+ it label do
+ report.count(label).should == report.count(label, report.successes)
+ end
+ end
+ end
+ }
+ end
+ end
+ end
+end