def test_setitem_scalar(self, val, missing_value): arr = LabelArray(self.strs, missing_value=missing_value) if not arr.has_label(val): self.assertTrue( (val == 'not in the array') or (val is None and missing_value is not None) ) for slicer in [(0, 0), (0, 1), 1]: with self.assertRaises(ValueError): arr[slicer] = val return arr[0, 0] = val self.assertEqual(arr[0, 0], val) arr[0, 1] = val self.assertEqual(arr[0, 1], val) arr[1] = val if val == missing_value: self.assertTrue(arr.is_missing()[1].all()) else: self.assertTrue((arr[1] == val).all()) self.assertTrue((arr[1].as_string_array() == val).all()) arr[:, -1] = val if val == missing_value: self.assertTrue(arr.is_missing()[:, -1].all()) else: self.assertTrue((arr[:, -1] == val).all()) self.assertTrue((arr[:, -1].as_string_array() == val).all()) arr[:] = val if val == missing_value: self.assertTrue(arr.is_missing().all()) else: self.assertFalse(arr.is_missing().any()) self.assertTrue((arr == val).all())
def test_setitem_scalar(self, val, missing_value): arr = LabelArray(self.strs, missing_value=missing_value) if not arr.has_label(val): assert (val == "not in the array") or ( val is None and missing_value is not None ) for slicer in [(0, 0), (0, 1), 1]: with pytest.raises(ValueError): arr[slicer] = val return arr[0, 0] = val assert arr[0, 0] == val arr[0, 1] = val assert arr[0, 1] == val arr[1] = val if val == missing_value: assert arr.is_missing()[1].all() else: assert (arr[1] == val).all() assert (arr[1].as_string_array() == val).all() arr[:, -1] = val if val == missing_value: assert arr.is_missing()[:, -1].all() else: assert (arr[:, -1] == val).all() assert (arr[:, -1].as_string_array() == val).all() arr[:] = val if val == missing_value: assert arr.is_missing().all() else: assert not arr.is_missing().any() assert (arr == val).all()