##// END OF EJS Templates
Updated IPythonWidget to use new prompt information. Initial prompt requests are not implemented.
Updated IPythonWidget to use new prompt information. Initial prompt requests are not implemented.

File last commit:

r1960:51f38f50
r2797:27bd4d00
Show More
test_newserialized.py
102 lines | 3.4 KiB | text/x-python | PythonLexer
/ IPython / kernel / tests / test_newserialized.py
Brian E Granger
This is a manual merge of certain things in the ipython1-dev branch, revision 46, into the main ...
r1234 # encoding: utf-8
"""This file contains unittests for the shell.py module."""
__docformat__ = "restructuredtext en"
Brian Granger
Fix for ipcluster bug: https://bugs.launchpad.net/bugs/358202...
r1944 #-----------------------------------------------------------------------------
Brian E Granger
This is a manual merge of certain things in the ipython1-dev branch, revision 46, into the main ...
r1234 # Copyright (C) 2008 The IPython Development Team
#
# Distributed under the terms of the BSD License. The full license is in
# the file COPYING, distributed as part of this software.
Brian Granger
Fix for ipcluster bug: https://bugs.launchpad.net/bugs/358202...
r1944 #-----------------------------------------------------------------------------
Brian E Granger
This is a manual merge of certain things in the ipython1-dev branch, revision 46, into the main ...
r1234
Brian Granger
Fix for ipcluster bug: https://bugs.launchpad.net/bugs/358202...
r1944 #-----------------------------------------------------------------------------
Brian E Granger
This is a manual merge of certain things in the ipython1-dev branch, revision 46, into the main ...
r1234 # Imports
Brian Granger
Fix for ipcluster bug: https://bugs.launchpad.net/bugs/358202...
r1944 #-----------------------------------------------------------------------------
Brian E Granger
This is a manual merge of certain things in the ipython1-dev branch, revision 46, into the main ...
r1234
Brian Granger
Fixing misc testing related things.
r1960 # Tell nose to skip this module
__test__ = {}
import zope.interface as zi
from twisted.trial import unittest
from IPython.testing.util import DeferredTestCase
from IPython.kernel.newserialized import \
ISerialized, \
IUnSerialized, \
Serialized, \
UnSerialized, \
SerializeIt, \
UnSerializeIt
Brian Granger
Removed some tabs and added a new way of skipping tests that have...
r1555
Brian Granger
Fix for ipcluster bug: https://bugs.launchpad.net/bugs/358202...
r1944 #-----------------------------------------------------------------------------
Brian Granger
Removed some tabs and added a new way of skipping tests that have...
r1555 # Tests
Brian Granger
Fix for ipcluster bug: https://bugs.launchpad.net/bugs/358202...
r1944 #-----------------------------------------------------------------------------
Brian Granger
Removed some tabs and added a new way of skipping tests that have...
r1555
class SerializedTestCase(unittest.TestCase):
def setUp(self):
pass
Brian E Granger
This is a manual merge of certain things in the ipython1-dev branch, revision 46, into the main ...
r1234
Brian Granger
Removed some tabs and added a new way of skipping tests that have...
r1555 def tearDown(self):
pass
Brian E Granger
This is a manual merge of certain things in the ipython1-dev branch, revision 46, into the main ...
r1234
Brian Granger
Removed some tabs and added a new way of skipping tests that have...
r1555 def testSerializedInterfaces(self):
Brian E Granger
This is a manual merge of certain things in the ipython1-dev branch, revision 46, into the main ...
r1234
Brian Granger
Removed some tabs and added a new way of skipping tests that have...
r1555 us = UnSerialized({'a':10, 'b':range(10)})
s = ISerialized(us)
uss = IUnSerialized(s)
self.assert_(ISerialized.providedBy(s))
self.assert_(IUnSerialized.providedBy(us))
self.assert_(IUnSerialized.providedBy(uss))
for m in list(ISerialized):
self.assert_(hasattr(s, m))
for m in list(IUnSerialized):
self.assert_(hasattr(us, m))
for m in list(IUnSerialized):
self.assert_(hasattr(uss, m))
Brian E Granger
This is a manual merge of certain things in the ipython1-dev branch, revision 46, into the main ...
r1234
Brian Granger
Removed some tabs and added a new way of skipping tests that have...
r1555 def testPickleSerialized(self):
obj = {'a':1.45345, 'b':'asdfsdf', 'c':10000L}
original = UnSerialized(obj)
originalSer = ISerialized(original)
firstData = originalSer.getData()
firstTD = originalSer.getTypeDescriptor()
firstMD = originalSer.getMetadata()
self.assert_(firstTD == 'pickle')
self.assert_(firstMD == {})
unSerialized = IUnSerialized(originalSer)
secondObj = unSerialized.getObject()
for k, v in secondObj.iteritems():
self.assert_(obj[k] == v)
secondSer = ISerialized(UnSerialized(secondObj))
self.assert_(firstData == secondSer.getData())
self.assert_(firstTD == secondSer.getTypeDescriptor() )
self.assert_(firstMD == secondSer.getMetadata())
def testNDArraySerialized(self):
try:
import numpy
except ImportError:
pass
else:
a = numpy.linspace(0.0, 1.0, 1000)
unSer1 = UnSerialized(a)
ser1 = ISerialized(unSer1)
td = ser1.getTypeDescriptor()
self.assert_(td == 'ndarray')
md = ser1.getMetadata()
self.assert_(md['shape'] == a.shape)
self.assert_(md['dtype'] == a.dtype.str)
buff = ser1.getData()
self.assert_(buff == numpy.getbuffer(a))
s = Serialized(buff, td, md)
us = IUnSerialized(s)
final = us.getObject()
self.assert_(numpy.getbuffer(a) == numpy.getbuffer(final))
self.assert_(a.dtype.str == final.dtype.str)
self.assert_(a.shape == final.shape)
Brian E Granger
This is a manual merge of certain things in the ipython1-dev branch, revision 46, into the main ...
r1234