Ejemplo n.º 1
0
    def test_unlocked_operators(self):
        v = utils.array_locked([1, 2, 3])
        w = utils.array_locked([4, 5, 6])
        add = v + w
        sub = v - w

        self.assertTrue(isinstance(add, np.ndarray))
        self.assertTrue(isinstance(sub, np.ndarray))

        self.assertTrue(add.flags.writeable)
        self.assertTrue(sub.flags.writeable)

        np.testing.assert_array_equal(add, np.add(np.copy(v), np.copy(w)))
        np.testing.assert_array_equal(sub, np.subtract(np.copy(v), np.copy(w)))
        np.testing.assert_array_equal(sub, -(w - v))
Ejemplo n.º 2
0
    def test_locked_operators(self):
        v = utils.array_locked([1., 2., 3.])

        with self.assertRaises(ValueError):
            v[0] = 0
        with self.assertRaises(ValueError):
            v += [1, 1, 1]
        with self.assertRaises(ValueError):
            v -= [1, 1, 1]
        with self.assertRaises(ValueError):
            v *= [1, 1, 1]
        with self.assertRaises(ValueError):
            v /= [1, 1, 1]
        with self.assertRaises(ValueError):
            v //= [1, 1, 1]
        with self.assertRaises(ValueError):
            v %= [1, 1, 1]
        with self.assertRaises(ValueError):
            v **= [1, 1, 1]
        with self.assertRaises(ValueError):
            v <<= [1, 1, 1]
        with self.assertRaises(ValueError):
            v >>= [1, 1, 1]
        with self.assertRaises(ValueError):
            v &= [1, 1, 1]
        with self.assertRaises(ValueError):
            v |= [1, 1, 1]
        with self.assertRaises(ValueError):
            v ^= [1, 1, 1]
Ejemplo n.º 3
0
 def test_is_valid_type(self):
     # basic types
     self.assertFalse(utils.is_valid_type(None, int))
     self.assertFalse(utils.is_valid_type('12', int))
     self.assertFalse(utils.is_valid_type(0.99, int))
     self.assertFalse(utils.is_valid_type(12, float))
     self.assertFalse(utils.is_valid_type(1234, str))
     self.assertTrue(utils.is_valid_type(1.0, float))
     self.assertTrue(utils.is_valid_type(12345, int))
     self.assertTrue(utils.is_valid_type('123', str))
     self.assertTrue(utils.is_valid_type(np.array([123.])[0], float))
     self.assertTrue(utils.is_valid_type(np.array([1234])[0], int))
     self.assertTrue(utils.is_valid_type(np.array([True])[0], bool))
     # numpy types
     self.assertTrue(utils.is_valid_type(np.array([12], dtype=int)[0], int))
     self.assertTrue(utils.is_valid_type(np.array([12], dtype=int)[0], int))
     self.assertTrue(
         utils.is_valid_type(np.array([1.], dtype=float)[0], float))
     self.assertTrue(
         utils.is_valid_type(np.array([1.], dtype=np.float64)[0], float))
     # 0-dimensional arrays
     self.assertTrue(utils.is_valid_type(np.max(np.array([1.])), float))
     self.assertTrue(
         utils.is_valid_type(np.max(utils.array_locked([1])), int))
Ejemplo n.º 4
0
 def test_setter(self):
     v = utils.array_locked([1, 2, 3])
     v = [4, 5, 6]
     np.testing.assert_array_equal(v, [4, 5, 6])
Ejemplo n.º 5
0
 def test_copy_is_writeable(self):
     v = np.copy(utils.array_locked([1, 2, 3]))
     self.assertTrue(v.flags.writeable)