testaroni 0.0.1 → 0.0.3

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.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 94f449f38522d00347b5555f2d67b6e67c49a5967c413d283829dd71e61ca059
4
- data.tar.gz: 1281a35ad65f15d5138fbc7471eb8fa1331197d387165a10fac576c91dd0d0ac
3
+ metadata.gz: 36109349f3905ce7fd909ba4667a586ec73f80ea1701c5eb8eaf5483073fbf7f
4
+ data.tar.gz: e8df45009b01946556f1a34798546b66b47f66ef7eb8eefb15b9f5d0e2458c57
5
5
  SHA512:
6
- metadata.gz: cd7acb6886ca3a1487414cd10e921f3885d9190f29e7fe4c3af66d307893dacd3ebefda88908783bd6f1c08347fda0141b5b804c6f577b44f88dacf7c7a2deae
7
- data.tar.gz: ed6a563325c2bf5318fed07d6fcf8ddb7c92c1376535f620636c2e2980e371c94a91f02826f67011e463e3c1bfe874ced2baa86d7d92ea19375abc4d6226aa25
6
+ metadata.gz: 55161e1f0d162123879c6cf04c39848e1044ced7917c9266cf02eec565710dafa0a8a82d45729808ce13b03c92dda0a44a3cfca15fdab2bea9f055f2075e1de5
7
+ data.tar.gz: 3eb3b5664b15acdb64b1283831c873d7871eec776717eda62a7498c301e529a6c92b5ee145be49f00657d351d44904e5e031eec6ac06fa6b1566048a66cf03d5
@@ -0,0 +1,27 @@
1
+ # Responsible for handling questions after calling make_sure or other methods
2
+ class Testaroni
3
+ class Evaluation
4
+ include Testaroni::Message
5
+ attr_reader :original_value, :runner
6
+ def initialize(runner, original_value)
7
+ @runner = runner
8
+ @original_value = original_value
9
+ end
10
+
11
+ def equals(matching_value)
12
+ if original_value == matching_value
13
+ test_passed_message
14
+ else
15
+ test_failed_message
16
+ end
17
+ end
18
+
19
+ def is_not(matching_value)
20
+ if original_value != matching_value
21
+ test_passed_message
22
+ else
23
+ test_failed_message
24
+ end
25
+ end
26
+ end
27
+ end
@@ -0,0 +1,11 @@
1
+ class Testaroni
2
+ module Message
3
+ def test_passed_message
4
+ puts "✅ Test passed: #{runner.description}"
5
+ end
6
+
7
+ def test_failed_message
8
+ puts "❌ Test failed: #{runner.description}"
9
+ end
10
+ end
11
+ end
@@ -0,0 +1,19 @@
1
+ class Testaroni
2
+ class Runner
3
+ attr_reader :description, :test_block
4
+ def initialize(description, &test_block)
5
+ @description = description
6
+ @test_block = test_block
7
+ end
8
+
9
+ def call
10
+ instance_eval(&test_block)
11
+ end
12
+
13
+ # Base level helpers
14
+ def make_sure(value)
15
+ # Returns an object with access to methods ( .equals .is_not )
16
+ Testaroni::Evaluation.new(self, value)
17
+ end
18
+ end
19
+ end
@@ -0,0 +1,9 @@
1
+ class Testaroni
2
+ module Test
3
+ def test(description, &block)
4
+ # Run this in an isolated context with helpers included
5
+ test_runner = Testaroni::Runner.new(description, &block)
6
+ test_runner.call
7
+ end
8
+ end
9
+ end
data/lib/testaroni.rb CHANGED
@@ -1,10 +1,9 @@
1
1
  require_relative "./testaroni/test"
2
+ require_relative "./testaroni/message"
2
3
  require_relative "./testaroni/evaluation"
3
4
  require_relative "./testaroni/runner"
4
-
5
5
  include Testaroni::Test
6
6
 
7
- class Testaroni
8
- end
7
+ class Testaroni; end
9
8
 
10
9
  puts "🍕 Running tests now!"
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: testaroni
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.1
4
+ version: 0.0.3
5
5
  platform: ruby
6
6
  authors:
7
7
  - Indigo Tech Tutorials
@@ -16,6 +16,10 @@ extensions: []
16
16
  extra_rdoc_files: []
17
17
  files:
18
18
  - lib/testaroni.rb
19
+ - lib/testaroni/evaluation.rb
20
+ - lib/testaroni/message.rb
21
+ - lib/testaroni/runner.rb
22
+ - lib/testaroni/test.rb
19
23
  homepage: https://rubygems.org/gems/testaroni
20
24
  licenses:
21
25
  - MIT