|
1 | 1 | from pandas.types.validate import _validate_bool_type
|
2 | 2 | from unittest import TestCase
|
| 3 | +from pandas.core.categorical import Categorical |
| 4 | +from pandas.core.base import IndexOpsMixin |
| 5 | +from pandas.core.generic import NDFrame |
| 6 | +from pandas.core.series import Series |
| 7 | +from pandas.core.frame import DataFrame |
| 8 | +from pandas.core.internals import Block, BoolBlock, BlockManager |
| 9 | +from pandas.computation.eval import eval |
| 10 | +from numpy import ndarray |
3 | 11 |
|
4 |
| -class TestValidate(TestCase): |
5 |
| - # DataFrame.eval |
| 12 | +class TestValidateBoolType(TestCase): |
6 | 13 |
|
7 |
| - # drop_duplicates |
| 14 | + invalid_values = [1, "True", [1,2,3], 5.0] |
8 | 15 |
|
9 |
| - # set_ordered, categorical.py line 615 |
| 16 | + def test_categorical(self): |
| 17 | + cat = Categorical(['A','B','B','C','A']) |
10 | 18 |
|
11 |
| - # as_ordered, categorical.py line 631 |
| 19 | + for value in self.invalid_values: |
| 20 | + with self.assertRaises(ValueError): |
| 21 | + cat.set_ordered(value=True, inplace=value) |
12 | 22 |
|
13 |
| - # as_unordered, categorical.py line 643 |
| 23 | + with self.assertRaises(ValueError): |
| 24 | + cat.as_ordered(inplace=value) |
14 | 25 |
|
15 |
| - # set_categories, categorical.py line 702 |
| 26 | + with self.assertRaises(ValueError): |
| 27 | + cat.as_unordered(inplace=value) |
16 | 28 |
|
17 |
| - # rename_categories, categorical.py line 754 |
| 29 | + with self.assertRaises(ValueError): |
| 30 | + cat.set_categories(['X','Y','Z'], rename=True, inplace=value) |
18 | 31 |
|
19 |
| - # reorder_categories, categorical.py line 794 |
| 32 | + with self.assertRaises(ValueError): |
| 33 | + cat.rename_categories(['X','Y','Z'], inplace=value) |
20 | 34 |
|
21 |
| - # add_categories, categorical.py line 832 |
| 35 | + with self.assertRaises(ValueError): |
| 36 | + cat.reorder_categories(['X','Y','Z'], ordered=True, inplace=value) |
22 | 37 |
|
23 |
| - # remove_categories, categorical.py line 885 |
| 38 | + with self.assertRaises(ValueError): |
| 39 | + cat.add_categories(new_categories=['D','E','F'], inplace=value) |
24 | 40 |
|
25 |
| - # remove_unused_categories, categorical.py line 926 |
| 41 | + with self.assertRaises(ValueError): |
| 42 | + cat.remove_categories(removals=['D','E','F'], inplace=value) |
26 | 43 |
|
27 |
| - # sort_values, categorical.py line 1326 |
| 44 | + with self.assertRaises(ValueError): |
| 45 | + cat.remove_unused_categories(inplace=value) |
28 | 46 |
|
29 |
| - # drop_duplicates, base.py line 1180 |
| 47 | + with self.assertRaises(ValueError): |
| 48 | + cat.sort_values(inplace=value) |
30 | 49 |
|
31 |
| - # eval, eval.py line 231 |
| 50 | + def test_base(self): |
| 51 | + s = Series([1,2,3]) |
32 | 52 |
|
33 |
| - # query, frame.py line 2203 |
| 53 | + for value in self.invalid_values: |
| 54 | + with self.assertRaises(ValueError): |
| 55 | + super(Series,s).drop_duplicates(inplace=value) |
34 | 56 |
|
35 |
| - # eval, frame.py line 2266 |
| 57 | + def test_eval(self): |
| 58 | + for value in self.invalid_values: |
| 59 | + with self.assertRaises(ValueError): |
| 60 | + eval("2+2", inplace=value) |
36 | 61 |
|
37 |
| - # set_index, frame.py line 2859 |
| 62 | + def test_frame(self): |
| 63 | + df = DataFrame({'a':[1,2], 'b':[3,4]}) |
38 | 64 |
|
39 |
| - # reset_index, frame.py line 2952 |
| 65 | + for value in self.invalid_values: |
| 66 | + with self.assertRaises(ValueError): |
| 67 | + df.query('a > b', inplace=value) |
40 | 68 |
|
41 |
| - # dropna, frame.py line 3057 |
| 69 | + with self.assertRaises(ValueError): |
| 70 | + df.eval('a + b', inplace=value) |
42 | 71 |
|
43 |
| - # reset_duplicates, frame.py line 3121 |
| 72 | + with self.assertRaises(ValueError): |
| 73 | + df.set_index(keys=['a'], inplace=value) |
44 | 74 |
|
45 |
| - # sort_values, frame.py line 3183 |
| 75 | + with self.assertRaises(ValueError): |
| 76 | + df.reset_index(inplace=value) |
46 | 77 |
|
47 |
| - # sort_index, frame.py line 3294 |
| 78 | + with self.assertRaises(ValueError): |
| 79 | + df.dropna(inplace=value) |
48 | 80 |
|
49 |
| - # rename_axis, generic.py line 736 |
| 81 | + with self.assertRaises(ValueError): |
| 82 | + df.drop_duplicates(inplace=value) |
| 83 | + |
| 84 | + with self.assertRaises(ValueError): |
| 85 | + df.sort_values(by=['a'], inplace=value) |
| 86 | + |
| 87 | + def test_generic(self): |
| 88 | + df = DataFrame({'a':[1,2,3],'b':[4,5,6]}) |
| 89 | + |
| 90 | + for value in self.invalid_values: |
| 91 | + with self.assertRaises(ValueError): |
| 92 | + super(DataFrame, df).rename_axis(mapper={'a':'x','b':'y'}, axis=1, inplace=value) |
| 93 | + |
| 94 | + with self.assertRaises(ValueError): |
| 95 | + super(DataFrame, df).drop('a', axis=1, inplace=value) |
| 96 | + |
| 97 | + with self.assertRaises(ValueError): |
| 98 | + super(DataFrame, df).sort_index(inplace=value) |
| 99 | + |
| 100 | + with self.assertRaises(ValueError): |
| 101 | + super(DataFrame, df).consolidate(inplace=value) |
| 102 | + |
| 103 | + with self.assertRaises(ValueError): |
| 104 | + super(DataFrame, df).fillna(value=0, inplace=value) |
| 105 | + |
| 106 | + with self.assertRaises(ValueError): |
| 107 | + super(DataFrame, df).replace(to_replace=1, value=7, inplace=value) |
| 108 | + |
| 109 | + with self.assertRaises(ValueError): |
| 110 | + super(DataFrame, df).interpolate(inplace=value) |
| 111 | + |
| 112 | + with self.assertRaises(ValueError): |
| 113 | + super(DataFrame, df)._where(cond=df.a > 2, inplace=value) |
| 114 | + |
| 115 | + with self.assertRaises(ValueError): |
| 116 | + super(DataFrame, df).mask(cond=df.a > 2, inplace=value) |
| 117 | + |
| 118 | + def test_internals(self): |
| 119 | + block = Block(values=Series([1,2,3]), placement=[0,1,2]) |
| 120 | + bb = BoolBlock(values=Series([True,False]), placement=[0,1]) |
| 121 | + bm = BlockManager([block], axes=[[0,1,2]]) |
| 122 | + |
| 123 | + for value in self.invalid_values: |
| 124 | + with self.assertRaises(ValueError): |
| 125 | + block.fillna(value=0,inplace=value) |
| 126 | + |
| 127 | + with self.assertRaises(ValueError): |
| 128 | + block.replace(to_replace=0, value=1, inplace=value) |
| 129 | + |
| 130 | + with self.assertRaises(ValueError): |
| 131 | + block.interpolate(inplace=value) |
| 132 | + |
| 133 | + with self.assertRaises(ValueError): |
| 134 | + block._interpolate_with_fill(inplace=value) |
| 135 | + |
| 136 | + with self.assertRaises(ValueError): |
| 137 | + block._interpolate(inplace=value) |
| 138 | + |
| 139 | + with self.assertRaises(ValueError): |
| 140 | + bb.replace(to_replace=True, value=False, inplace=value) |
| 141 | + |
| 142 | + with self.assertRaises(ValueError): |
| 143 | + bm.replace_list([1],[2], inplace=value) |
| 144 | + |
| 145 | + def test_series(self): |
| 146 | + s = Series([1,2,3,4,5]) |
| 147 | + |
| 148 | + for value in self.invalid_values: |
| 149 | + |
| 150 | + with self.assertRaises(ValueError): |
| 151 | + s.reset_index(inplace=value) |
| 152 | + |
| 153 | + with self.assertRaises(ValueError): |
| 154 | + s._set_name(name='hello', inplace=value) |
| 155 | + |
| 156 | + with self.assertRaises(ValueError): |
| 157 | + s.sort_values(inplace=value) |
| 158 | + |
| 159 | + with self.assertRaises(ValueError): |
| 160 | + s.sort_index(inplace=value) |
| 161 | + |
| 162 | + with self.assertRaises(ValueError): |
| 163 | + s.sort_index(inplace=value) |
| 164 | + |
| 165 | + with self.assertRaises(ValueError): |
| 166 | + s.rename(inplace=value) |
| 167 | + |
| 168 | + with self.assertRaises(ValueError): |
| 169 | + s.dropna(inplace=value) |
0 commit comments