Use a variant as a dict key
(self)
| 168 | self.assertEqual(l, m) |
| 169 | |
| 170 | def testHash(self): |
| 171 | """Use a variant as a dict key""" |
| 172 | d = {} |
| 173 | # doubles, ints, strings, all hash as strings |
| 174 | d[vtkVariant(1.0)] = 'double' |
| 175 | d[vtkVariant(1)] = 'int' |
| 176 | self.assertEqual(d[vtkVariant('1')], 'int') |
| 177 | |
| 178 | # every vtkObject is hashed by memory address |
| 179 | o1 = vtkIntArray() |
| 180 | o2 = vtkIntArray() |
| 181 | d[vtkVariant(o1)] = 'vtkIntArray1' |
| 182 | d[vtkVariant(o2)] = 'vtkIntArray2' |
| 183 | self.assertEqual(d[vtkVariant(o1)], 'vtkIntArray1') |
| 184 | self.assertEqual(d[vtkVariant(o2)], 'vtkIntArray2') |
| 185 | |
| 186 | # invalid variants all hash the same |
| 187 | d[vtkVariant()] = 'invalid' |
| 188 | self.assertEqual(d[vtkVariant()], 'invalid') |
| 189 | |
| 190 | def testPassByValueReturnByReference(self): |
| 191 | """Pass vtkVariant by value, return by reference""" |
nothing calls this directly
no test coverage detected