test/hash_test.rb in ruote-0.9.18 vs test/hash_test.rb in ruote-0.9.19
- old
+ new
@@ -5,10 +5,13 @@
# John Mettraux at openwfe.org
#
# Sun Oct 29 16:18:25 JST 2006
#
+require 'rubygems'
+require 'json'
+
require 'test/unit'
require 'openwfe/workitem'
require 'openwfe/flowexpressionid'
@@ -19,57 +22,72 @@
# testing fei.to_h and wi.to_h
#
class HashTest < Test::Unit::TestCase
- #def setup
- #end
+ #def setup
+ #end
- #def teardown
- #end
+ #def teardown
+ #end
- def test_fei_to_h
+ def test_fei_to_h
- fei0 = new_fei
- h = fei0.to_h
- fei1 = OpenWFE::FlowExpressionId.from_h(h)
+ fei0 = new_fei
+ h = fei0.to_h
+ fei1 = OpenWFE::FlowExpressionId.from_h(h)
- assert_equal fei0, fei1
- end
+ assert_equal fei0, fei1
+ end
- def test_wi_to_h
+ def test_wi_to_h
- wi0 = OpenWFE::InFlowWorkItem.new
- wi0.fei = new_fei
+ wi0 = OpenWFE::InFlowWorkItem.new
+ wi0.fei = new_fei
- h = wi0.to_h
- #p h
+ h = wi0.to_h
+ #p h
- wi1 = OpenWFE::InFlowWorkItem.from_h(h)
+ wi1 = OpenWFE::InFlowWorkItem.from_h(h)
- assert_equal wi0.fei, wi1.fei
- assert_equal wi0.attributes.length, wi1.attributes.length
+ assert_equal wi0.fei, wi1.fei
+ assert_equal wi0.attributes.length, wi1.attributes.length
- wi2 = OpenWFE::workitem_from_h(h)
+ wi2 = OpenWFE::workitem_from_h(h)
- assert_equal wi0.fei, wi2.fei
- assert_equal wi0.attributes.length, wi2.attributes.length
- end
+ assert_equal wi0.fei, wi2.fei
+ assert_equal wi0.attributes.length, wi2.attributes.length
+ end
- def test_any_from_h
+ def test_any_from_h
- li = OpenWFE::LaunchItem.new
- li.workflow_definition_url = "http://www.openwfe.org/nada"
- li.price = "USD 12"
- li.customer = "Captain Nemo"
+ li = OpenWFE::LaunchItem.new
+ li.workflow_definition_url = "http://www.openwfe.org/nada"
+ li.price = "USD 12"
+ li.customer = "Captain Nemo"
- h = li.to_h
- #p h
+ h = li.to_h
+ #p h
- li1 = OpenWFE::workitem_from_h h
+ li1 = OpenWFE::workitem_from_h h
- assert_kind_of OpenWFE::LaunchItem, li1
- assert_equal "USD 12", li1.price
- assert_equal 3, li1.attributes.size
- end
+ assert_kind_of OpenWFE::LaunchItem, li1
+ assert_equal 'USD 12', li1.price
+ assert_equal 2, li1.attributes.size
+ end
+ def test_wi_to_h_to_json_and_back
+
+ wi0 = OpenWFE::InFlowWorkItem.new
+ wi0.fei = new_fei
+ wi0.attributes['data'] = (0..5).to_a
+
+ s = wi0.to_h.to_json
+
+ wi1 = OpenWFE::InFlowWorkItem.from_h(JSON.parse(s))
+
+ assert_equal wi0.attributes, wi1.attributes
+ assert_equal wi0.fei, wi1.fei
+ end
+
end
+