def test_view_from_cols_from_view_wrong_mem_layout(self):
     import numpy as np
     a=np.arange(24).reshape((4,6))
     b=a[0::2, 0::2]
     with self.assertRaises(BufferError) as context:
         mem  = IndirectMemory2D.view_from_columns(b)
     self.assertEqual("columns of the buffer-object aren't contiguous", context.exception.args[0])
 def test_view_from_cols_with_readonly(self):
     import numpy as np
     a =  np.zeros((4,7), order="F")
     mem  = IndirectMemory2D.view_from_columns(a, True)   
     with self.assertRaises(TypeError) as context:
         memoryview(mem)[1,3] = 5
     self.assertEqual("cannot modify read-only memory", context.exception.args[0])
 def test_view_from_cols_for_readonly_false(self):
     import numpy as np
     a =  np.zeros((4,7), order="F")
     a.flags.writeable = False
     with self.assertRaises(ValueError) as context:
         mem  = IndirectMemory2D.view_from_columns(a, False) 
     self.assertEqual("buffer source array is read-only", context.exception.args[0])
 def test_view_from_one_col_1d(self):
     a = array.array("i", [1,2,3,4])
     mem  = IndirectMemory2D.view_from_columns(a)
     self.assertEqual(mem.shape[0], 1)
     self.assertEqual(mem.shape[1], 4)
     self.assertEqual(memoryview(mem)[0,2], 3)
     memoryview(mem)[0,2] = 42
     self.assertEqual(a[2], 42)
 def test_view_from_cols_refcount(self):
     import numpy as np
     a = np.zeros((3,4), order="F")
     cnt = sys.getrefcount(a)
     mem  = IndirectMemory2D.view_from_columns(a)
     self.assertEqual(cnt+1, sys.getrefcount(a))
     del mem
     self.assertEqual(cnt, sys.getrefcount(a))
 def test_view_from_one_col_2d(self):
     import numpy as np
     a = np.array([[1],[2],[3],[4]], order="F")
     mem  = IndirectMemory2D.view_from_columns(a)
     self.assertEqual(mem.shape[0], 1) #dimensions swapped
     self.assertEqual(mem.shape[1], 4) #dimensions swapped
     self.assertEqual(memoryview(mem)[0,2], 3) #dimensions swapped
     memoryview(mem)[0,2] = 42 #dimensions swapped
     self.assertEqual(a[2,0], 42)
 def test_view_from_cols_from_view(self):
     import numpy as np
     a=np.arange(12).reshape((3,4), order="F")
     b=a[:, 0::2]
     mem  = IndirectMemory2D.view_from_columns(b)
     self.assertEqual(mem.shape[0], 2) #dimensions swapped
     self.assertEqual(mem.shape[1], 3) #dimensions swapped
     self.assertEqual(memoryview(mem)[1,0], 6) #dimensions swapped
     memoryview(mem)[1,0] = 42         #dimensions swapped
     self.assertEqual(a[0,2], 42)
 def test_view_from_cols_bufferlocked(self):
     import numpy as np
     a = np.zeros((3,4), order="F")
     mem  = IndirectMemory2D.view_from_columns(a)
     with self.assertRaises(ValueError) as context:
         a.resize((55,1))
     self.assertTrue("cannot resize" in context.exception.args[0])
     del mem
     a.resize((55,1))
     self.assertEqual(a.shape[0], 55)
 def test_view_from_cols(self):
     import numpy as np
     a =  np.zeros((4,7), order="F")
     a[1,2] = 21
     a[2,1] = 42
     mem  = IndirectMemory2D.view_from_columns(a)
     self.assertEqual(mem.shape[0], 7) #dimensions swapped
     self.assertEqual(mem.shape[1], 4) #dimensions swapped
     self.assertEqual(memoryview(mem)[1,2], 42) #dimensions swapped
     self.assertEqual(memoryview(mem)[2,1], 21) #dimensions swapped
     memoryview(mem)[1,3] = 5
     memoryview(mem)[3,1] = 6
     self.assertEqual(a[1,3], 6)  #dimensions swapped
     self.assertEqual(a[3,1], 5)  #dimensions swapped
Ejemplo n.º 10
0
 def test_view_from_cols_for_readonly_true(self):
     import numpy as np
     a =  np.ones((4,7), order="F")
     a.flags.writeable = False
     mem  = IndirectMemory2D.view_from_columns(a, True) 
     self.assertEqual(memoryview(mem)[0,0], 1.0)
Ejemplo n.º 11
0
 def test_view_from_cols_too_many_dims(self):
     import numpy as np
     a = np.zeros((3,4,3), order="F")
     with self.assertRaises(BufferError) as context:
         mem  = IndirectMemory2D.view_from_columns(a)
     self.assertEqual("expected at most 2 but found 3 dimensions", context.exception.args[0])
Ejemplo n.º 12
0
 def test_view_from_cols_wrong_mem_layout(self):
     import numpy as np
     a = np.zeros((3,4), order="C")
     with self.assertRaises(BufferError) as context:
         mem  = IndirectMemory2D.view_from_columns(a)
     self.assertEqual("columns of the buffer-object aren't contiguous", context.exception.args[0])