summaryrefslogtreecommitdiffhomepage
path: root/dragon/assert.rb
diff options
context:
space:
mode:
authorAmir Rajan <[email protected]>2020-02-27 20:14:39 -0600
committerAmir Rajan <[email protected]>2020-02-27 20:14:39 -0600
commit5d0c0305854633122b3e800dd9058e93c2950eb6 (patch)
tree0283825a7055cebd59ad1b3aff1b3dec1f2ac03c /dragon/assert.rb
parent07468bf3f309c21ea3f7fcf47195ca275177dc7f (diff)
downloaddragonruby-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.rb51
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