def test_reset(self): """Tests the reset function.""" lla = LongLongArray(5) lla.reset() self.assertEqual(lla.length, 0) self.assertEqual(lla.alloc, 5) self.assertEqual(len(lla.get_npy_array()), 0)
def test_resize(self): """Tests the resize function.""" lla = LongLongArray(0) lla.resize(20) self.assertEqual(lla.length, 20) self.assertEqual(len(lla.get_npy_array()), 20) self.assertEqual(lla.alloc >= lla.length, True)
def test_get_npy_array(self): """Tests the get_npy_array array.""" lla = LongLongArray(3) lla[0] = 1 lla[1] = 2 lla[2] = 3 nparray = lla.get_npy_array() self.assertEqual(len(nparray), 3) for i in range(3): self.assertEqual(nparray[i], lla[i])
def test_copy_values(self): """Tests the copy values function.""" lla1 = LongLongArray(5) lla2 = LongLongArray(5) indices = LongArray(5) for i in range(5): lla1[i] = i lla2[i] = 0 indices[i] = i lla1.copy_values(indices, lla2) self.assertEqual( np.allclose(lla1.get_npy_array(), lla2.get_npy_array()), True)
def test_get_set_indexing(self): """Test get/set and [] operator.""" lla = LongLongArray(10) lla.set(0, 10) lla.set(9, 1) self.assertEqual(lla.get(0), 10) self.assertEqual(lla.get(9), 1) lla[9] = 2 self.assertEqual(lla[9], 2)
def test_squeeze(self): """Tests the squeeze function.""" lla = LongLongArray(5) lla.append(4) self.assertEqual(lla.alloc > lla.length, True) lla.squeeze() self.assertEqual(lla.length, 6) self.assertEqual(lla.alloc == lla.length, True) self.assertEqual(len(lla.get_npy_array()), 6)
def test_paste_values(self): """Tests the paste values function.""" lla1 = LongLongArray(3) lla1_array = lla1.get_npy_array() lla1_array[:] = 2 lla2 = LongLongArray(6) lla2_array = lla2.get_npy_array() lla2_array[:] = 0 indices = LongArray(3) ind_array = indices.get_npy_array() ind_array[:] = [0, 2, 4] lla1.paste_values(indices, lla2) for i in indices: self.assertTrue(lla2[i] == 2)
def test_extend(self): """Tests teh extend function.""" lla1 = LongLongArray(5) for i in range(5): lla1[i] = i lla2 = LongLongArray(5) for i in range(5): lla2[i] = 5 + i lla1.extend(lla2.get_npy_array()) self.assertEqual(lla1.length, 10) self.assertEqual( np.allclose(lla1.get_npy_array(), np.arange(10, dtype=np.int64)), True)
def test_append(self): """Test the append function.""" lla = LongLongArray(0) lla.append(1) lla.append(2) lla.append(3) self.assertEqual(lla.length, 3) self.assertEqual(lla[0], 1) self.assertEqual(lla[1], 2) self.assertEqual(lla[2], 3)
def test_aling_array(self): """Test the align_array function.""" lla1 = LongLongArray(10) lla1_array = lla1.get_npy_array() lla1_array[:] = np.arange(10, dtype=np.int64) new_indices = np.array([1, 5, 3, 2, 4, 7, 8, 6, 9, 0], dtype=np.int) lla1.align_array(new_indices) self.assertEqual( np.allclose( np.array([1, 5, 3, 2, 4, 7, 8, 6, 9, 0], dtype=np.int64), lla1.get_npy_array()), True)
def test_constructor(self): """Test the constructor.""" lla = LongLongArray(10) self.assertEqual(lla.length, 10) self.assertEqual(lla.alloc, 10) self.assertEqual(len(lla.get_npy_array()), 10) self.assertEqual(lla.get_npy_array().itemsize, 8) lla = LongArray() self.assertEqual(lla.length, 0) self.assertEqual(lla.alloc, 16) self.assertEqual(len(lla.get_npy_array()), 0)
def test_remove(self): """Tests the remove function""" lla1 = LongLongArray(10) lla1_array = lla1.get_npy_array() lla1_array[:] = np.arange(10, dtype=np.int64) rem = [0, 4, 3] lla1.remove(np.array(rem, dtype=np.int)) self.assertEqual(lla1.length, 7) self.assertEqual( np.allclose(np.array([7, 1, 2, 8, 9, 5, 6], dtype=np.int64), lla1.get_npy_array()), True) lla1.remove(np.array(rem, dtype=np.int)) self.assertEqual(lla1.length, 4) self.assertEqual( np.allclose(np.array([6.0, 1.0, 2.0, 5.0], dtype=np.int64), lla1.get_npy_array()), True) rem = [0, 1, 3] lla1.remove(np.array(rem, dtype=np.int)) self.assertEqual(lla1.length, 1) self.assertEqual( np.allclose(np.array([2.0], dtype=np.int64), lla1.get_npy_array()), True) lla1.remove(np.array([0], dtype=np.int)) self.assertEqual(lla1.length, 0) self.assertEqual(len(lla1.get_npy_array()), 0)
def test_dtype(self): """Test data type.""" lla = LongLongArray(10) self.assertEqual(lla.get_npy_array().dtype, np.int64)