tests/dsl_tests.rb
changeset 0 f46260ba26b1
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/tests/dsl_tests.rb	Sun May 22 00:32:07 2016 +0100
@@ -0,0 +1,45 @@
+require File.join(File.dirname(__FILE__), '..' , 'rakelib' , 'dsl')
+require 'test/unit'
+
+module Rake::StX::DSL
+  class ObjectTests < Test::Unit::TestCase
+
+    class A < Object
+      property :bar
+      property :baz, :default => false, :values => [true, false]
+      property :qux, :default => (Proc.new do 
+                                   :qux
+                                 end)      
+    end
+    
+    def test_01           
+      f = A.new()
+      assert f.bar == nil
+      f.bar "baz"
+      assert f.bar == "baz"
+      f.bar = "qux"
+      assert f.bar == "qux"
+    end
+
+    def test_02
+      f = A.new()     
+      assert f.baz == false
+      f.baz true
+      assert f.baz == true
+      gote = false
+      begin
+        f.baz "String"
+      rescue Exception 
+        gote = true
+      end
+      assert gote
+      
+    end
+    
+    def test_03
+      f = A.new()
+      assert f.qux.kind_of?  Proc        
+      assert f.qux.call() == :qux      
+    end
+  end
+end