Skip to content

Commit

Permalink
Improve tests
Browse files Browse the repository at this point in the history
  • Loading branch information
joeldrapper committed Dec 18, 2024
1 parent 3c76267 commit 1231db7
Show file tree
Hide file tree
Showing 5 changed files with 99 additions and 67 deletions.
36 changes: 36 additions & 0 deletions config/quickdraw.rb
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,42 @@
# config here
end

class Runner
def initialize
@failures = []
@errors = []
@successes = 0
end

attr_reader :failures, :successes, :errors

def failure!(failure)
@failures << failure
end

def success!(description)
@successes += 1
end

def error!(error)
@errors << error
end
end

class Quickdraw::Test
def assert_test(passes: 0, failures: 0, errors: 0, &block)
runner = Runner.new

Quickdraw::Test.new(description: nil, skip: false, block:).run(runner)

assert_equal runner.successes, passes
assert_equal runner.failures.size, failures
assert_equal runner.errors.size, errors

runner
end
end

# require 'simplecov'

# SimpleCov.start do
Expand Down
67 changes: 0 additions & 67 deletions test/assertions.test.rb

This file was deleted.

25 changes: 25 additions & 0 deletions test/assertions/equal.test.rb
Original file line number Diff line number Diff line change
@@ -0,0 +1,25 @@
# frozen_string_literal: true

test "#assert_equal pass" do
assert_test(passes: 1) do
assert_equal 1, 1
end
end

test "#assert_equal failure" do
assert_test(failures: 1) do
assert_equal 1, 2
end
end

test "#refute_equal pass" do
assert_test(passes: 1) do
refute_equal 1, 2
end
end

test "#refute_equal failure" do
assert_test(failures: 1) do
refute_equal 1, 1
end
end
13 changes: 13 additions & 0 deletions test/assertions/includes.test.rb
Original file line number Diff line number Diff line change
@@ -0,0 +1,13 @@
# frozen_string_literal: true

test "#assert_includes pass" do
assert_test(passes: 1) do
assert_includes([1, 2, 3], 2)
end
end

test "#assert_includes fail" do
assert_test(failures: 1) do
assert_includes([1, 2, 3], 4)
end
end
25 changes: 25 additions & 0 deletions test/assertions/raises.test.rb
Original file line number Diff line number Diff line change
@@ -0,0 +1,25 @@
# frozen_string_literal: true

test "#assert_raises when raising the wrong argument error" do
assert_test(failures: 1) do
assert_raises(ArgumentError) do
raise "Test"
end
end
end

test "#assert_raises when nothing is raised" do
assert_test(failures: 1) do
assert_raises(ArgumentError) do
"no-op"
end
end
end

test "#assert_raises when the correct error is raised" do
assert_test(passes: 1) do
assert_raises(ArgumentError) do
raise ArgumentError
end
end
end

0 comments on commit 1231db7

Please sign in to comment.