summaryrefslogtreecommitdiff
path: root/python/tests/codec010.py
diff options
context:
space:
mode:
authorRafael H. Schloming <rhs@apache.org>2008-03-07 20:22:18 +0000
committerRafael H. Schloming <rhs@apache.org>2008-03-07 20:22:18 +0000
commit9348ffddf9dbeb1029a91f0804a5f3b1e22f8821 (patch)
tree0526d5636f51483eccb437f1035a9d9a9e1f2670 /python/tests/codec010.py
parent039d4461a0c1bb44731bbee6df58c0ee0c1673cf (diff)
downloadqpid-python-9348ffddf9dbeb1029a91f0804a5f3b1e22f8821.tar.gz
added support for maps
git-svn-id: https://svn.apache.org/repos/asf/incubator/qpid/trunk/qpid@634803 13f79535-47bb-0310-9956-ffa450edef68
Diffstat (limited to 'python/tests/codec010.py')
-rw-r--r--python/tests/codec010.py57
1 files changed, 57 insertions, 0 deletions
diff --git a/python/tests/codec010.py b/python/tests/codec010.py
new file mode 100644
index 0000000000..65d4525758
--- /dev/null
+++ b/python/tests/codec010.py
@@ -0,0 +1,57 @@
+#
+# Licensed to the Apache Software Foundation (ASF) under one
+# or more contributor license agreements. See the NOTICE file
+# distributed with this work for additional information
+# regarding copyright ownership. The ASF licenses this file
+# to you under the Apache License, Version 2.0 (the
+# "License"); you may not use this file except in compliance
+# with the License. You may obtain a copy of the License at
+#
+# http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing,
+# software distributed under the License is distributed on an
+# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+# KIND, either express or implied. See the License for the
+# specific language governing permissions and limitations
+# under the License.
+#
+
+from unittest import TestCase
+from qpid.spec010 import load
+from qpid.codec010 import StringCodec
+from qpid.testlib import testrunner
+
+class CodecTest(TestCase):
+
+ def setUp(self):
+ self.spec = load(testrunner.get_spec_file("amqp.0-10.xml"))
+
+ def check(self, type, value):
+ t = self.spec[type]
+ sc = StringCodec(self.spec)
+ t.encode(sc, value)
+ decoded = t.decode(sc)
+ assert decoded == value
+
+ def testMapString(self):
+ self.check("map", {"string": "this is a test"})
+
+ def testMapInt(self):
+ self.check("map", {"int": 3})
+
+ def testMapLong(self):
+ self.check("map", {"long": 2**32})
+
+ def testMapNone(self):
+ self.check("map", {"none": None})
+
+ def testMapNested(self):
+ self.check("map", {"map": {"string": "nested test"}})
+
+ def testMapAll(self):
+ self.check("map", {"string": "this is a test",
+ "int": 3,
+ "long": 2**32,
+ "none": None,
+ "map": {"string": "nested map"}})