add tests
diff --git a/test/py/SerializationTest.py b/test/py/SerializationTest.py
index ef79835..f47c3d4 100755
--- a/test/py/SerializationTest.py
+++ b/test/py/SerializationTest.py
@@ -432,7 +432,19 @@
         self.assertEquals(obj, objcopy)
 
         # test enums
-        for num, name in Numberz._VALUES_TO_NAMES.items():
+        def _enumerate_enum(enum_class):
+            if hasattr(enum_class, '_VALUES_TO_NAMES'):
+                # old-style enums
+                for num, name in enum_class._VALUES_TO_NAMES.items():
+                    yield (num, name)
+            else:
+                # assume Python 3.4+ IntEnum-based
+                from enum import IntEnum
+                self.assertTrue((issubclass(enum_class, IntEnum)))
+                for num in enum_class:
+                    yield (num.value, num.name)
+
+        for num, name in _enumerate_enum(Numberz):
             obj = Bonk(message='enum Numberz value %d is string %s' % (num, name), type=num)
             objcopy = Bonk()
             deserialize(objcopy, serialize(obj))