def create_numpy_data_nan(self): # nan-based arr = numpy.arange(5, dtype=float) index = numpy.arange(5) arr[1] = numpy.nan arr[3] = numpy.nan return arr, index
async def test_evaluate_string_concurrently(self): task1 = asyncio.ensure_future( self.cloud_session_async.evaluate("Range[1]")) task2 = asyncio.ensure_future( self.cloud_session_async.evaluate_wrap("Range[2]")) res1, res2 = await asyncio.gather(task1, task2) numpy.assert_array_equal(res1, numpy.arange(1, 2)) res2 = await res2.result numpy.assert_array_equal(res2, numpy.arange(1, 3))
async def test_eval_wrap(self): start = time.perf_counter() task = asyncio.create_task( self.async_session.evaluate_wrap(wlexpr("Pause[.1]; Range[3]"))) timer = time.perf_counter() - start self.assertTrue(timer < 0.1) res = await task numpy.assert_array_equal(res.get(), numpy.arange(1, 4))
async def test_eval_wlsymbol(self): start = time.perf_counter() task = asyncio.create_task( self.async_session.evaluate( wl.CompoundExpression(wl.Pause(0.1), wl.Range(2)))) timer = time.perf_counter() - start self.assertTrue(timer < 0.1) res = await task numpy.assert_array_equal(res, numpy.arange(1, 3))
async def test_eval_wxf(self): start = time.perf_counter() task = asyncio.create_task( self.async_session.evaluate_wxf(wlexpr("Pause[.1]; Range[3]"))) timer = time.perf_counter() - start self.assertTrue(timer < 0.1) wxf = await task res = binary_deserialize(wxf) numpy.assert_array_equal(res, numpy.arange(1, 4))
def to_little_endian_i2be(self): arr = numpy.arange(256, 259, dtype=">i2") data = arr.bytes() data_le = to_little_endian(arr).bytes() self.assertEqual(data_le, b"\x01\x00\x01\x01\x01\x02") self.assertEqual(data, b"\x00\x01\x01\x01\x02\x01") to_little_endian(arr, inplace=True) self.assertEqual(arr.bytes(), data_le)
def multiindex_series(self): mi = pandas.MultiIndex( levels=[["a", "b"], ["x", "y"], [0]], labels=[ [1, 1, 1, 1, 0, 0, 0, 0], [0, 0, 1, 1, 0, 0, 1, 1], [0, -1, 0, -1, 0, -1, 0, -1], ], ) return pandas.Series(numpy.arange(8), index=mi)
def test_generators(self): array = NumericArray((i for i in range(10)), "Integer8", shape=(10, )) self.assertEqual( export(numpy.arange(10).astype(numpy.int8), target_format="wxf"), export(array, target_format="wxf"), ) self.assertEqual(len(array), 10) array = NumericArray((i for i in range(10)), "Integer8", shape=(5, 2)) self.assertEqual( export(numpy.arange(10).astype(numpy.int8).reshape(5, 2), target_format="wxf"), export(array, target_format="wxf"), ) self.assertEqual(len(array), 10)
def test_mode_L(self): a = numpy.arange(10).reshape((2, 5)) img = PIL.fromarray(a, mode='L') out = export(img, target_format='wl') self.assertTrue( out == b'Image[BinaryDeserialize[ByteArray["ODrCEAICBQAAAAAAAAAAAQA="]], "Byte", Rule[ColorSpace, "Grayscale"], Rule[Interleaving, True]]' or out == b'Image[BinaryDeserialize[ByteArray["ODrCEAICBQAAAAAAAAAAAQA="]], "Byte", Rule[Interleaving, True], Rule[ColorSpace, "Grayscale"]]' )
def to_little_endian_float(self): arr = numpy.arange(256, 259, dtype="f") data = arr.bytes() # no-op data_le = to_little_endian(arr).bytes() self.assertEqual(data_le, data)
async def test_evaluate_wrap(self): res = await self.cloud_session_async.evaluate_wrap(wl.Range(2)) self.assertTrue(await res.success) numpy.assert_array_equal(await res.get(), numpy.arange(1, 3))
def to_little_endian_i2le(self): arr = numpy.arange(256, 259, dtype="<i2") data = arr.bytes() data_le = to_little_endian(arr).bytes() self.assertEqual(data, data_le)
def test_evaluate_strings_future(self): res1 = self.cloud_session.evaluate_future("Range[1]") res2 = self.cloud_session.evaluate_future("Range[2]") numpy.assert_array_equal(res1.result(), numpy.arange(1, 2)) numpy.assert_array_equal(res2.result(), numpy.arange(1, 3))
def test_evaluate_range_future(self): res = self.cloud_session.evaluate_future("Range[3]") numpy.assert_array_equal(res.result(), numpy.arange(1, 4))
def test_evaluate_wrap(self): res = self.cloud_session.evaluate_wrap(wl.Range(2)) self.assertTrue(res.success) numpy.assert_array_equal(res.get(), numpy.arange(1, 3))
def test_evaluate_function_wl(self): f = self.cloud_session.function(wl.Range) numpy.assert_array_equal(f(3), numpy.arange(1, 4))
def test_evaluate_wl_expr(self): res = self.cloud_session.evaluate(wl.Range(2)) numpy.assert_array_equal(res, numpy.arange(1, 3))
def test_evaluate_string(self): res = self.cloud_session.evaluate("Range[3]") numpy.assert_array_equal(res, numpy.arange(1, 4))
def multiindex_series(self): mi = pandas.MultiIndex(levels=[['a', 'b'], ['x', 'y'], [0]], labels=[[1, 1, 1, 1, 0, 0, 0, 0], [0, 0, 1, 1, 0, 0, 1, 1], [0, -1, 0, -1, 0, -1, 0, -1]]) return pandas.Series(numpy.arange(8), index=mi)
async def test_evaluate_function_wl(self): f = self.cloud_session_async.function(wl.Range) res = await f(3) numpy.assert_array_equal(res, numpy.arange(1, 4))
async def test_evaluate_string(self): res1 = await self.cloud_session_async.evaluate("Range[1]") res2 = await self.cloud_session_async.evaluate("Range[2]") numpy.assert_array_equal(res1, numpy.arange(1, 2)) numpy.assert_array_equal(res2, numpy.arange(1, 3))