diff options
| author | Amir Rajan <[email protected]> | 2020-02-27 20:14:39 -0600 |
|---|---|---|
| committer | Amir Rajan <[email protected]> | 2020-02-27 20:14:39 -0600 |
| commit | 5d0c0305854633122b3e800dd9058e93c2950eb6 (patch) | |
| tree | 0283825a7055cebd59ad1b3aff1b3dec1f2ac03c /dragon/assert.rb | |
| parent | 07468bf3f309c21ea3f7fcf47195ca275177dc7f (diff) | |
| download | dragonruby-game-toolkit-contrib-5d0c0305854633122b3e800dd9058e93c2950eb6.tar.gz dragonruby-game-toolkit-contrib-5d0c0305854633122b3e800dd9058e93c2950eb6.zip | |
open sourced parts of game toolkit.
Diffstat (limited to 'dragon/assert.rb')
| -rw-r--r-- | dragon/assert.rb | 51 |
1 files changed, 51 insertions, 0 deletions
diff --git a/dragon/assert.rb b/dragon/assert.rb new file mode 100644 index 0000000..47d39ef --- /dev/null +++ b/dragon/assert.rb @@ -0,0 +1,51 @@ +# coding: utf-8 +# Copyright 2019 DragonRuby LLC +# MIT License +# assert.rb has been released under MIT (*only this file*). + +module GTK + class Assert + attr :assertion_performed + + def ok! + @assertion_performed = true + end + + def true! value, message = nil + @assertion_performed = true + if !value + message = "#{value} was not truthy.\n#{message}" + raise "#{message}" + end + nil + end + + def false! value, message = nil + @assertion_performed = true + if value + message = "#{value} was not falsey.\n#{message}" + raise message + end + nil + end + + def equal! actual, expected, message = nil + @assertion_performed = true + if actual != expected + actual_string = "#{actual}#{actual.nil? ? " (nil) " : " " }".strip + message = "actual: #{actual_string} did not equal expected: #{expected}.\n#{message}" + raise message + end + nil + end + + def nil! value, message = nil + @assertion_performed = true + if !value.nil? + message = "#{value} was supposed to be nil, but wasn't.\n#{message}" + raise message + end + nil + end + end +end |
