(self, dtype, descriptor, atype, *values)
| 164 | return sorted(values) |
| 165 | |
| 166 | def _testArray(self, dtype, descriptor, atype, *values): |
| 167 | if dtype: |
| 168 | dTYPE = getattr(self.data, dtype.upper()) |
| 169 | aTYPE = getattr(self.data, atype.upper()) |
| 170 | self.data.put_array(dtype is not None, aTYPE) |
| 171 | self.data.enter() |
| 172 | if dtype is not None: |
| 173 | putter = getattr(self.data, "put_%s" % dtype) |
| 174 | self.put(putter, descriptor) |
| 175 | putter = getattr(self.data, "put_%s" % atype) |
| 176 | for v in values: |
| 177 | self.put(putter, v) |
| 178 | self.data.exit() |
| 179 | self.data.rewind() |
| 180 | assert self.data.next() == Data.ARRAY |
| 181 | count, described, type = self.data.get_array() |
| 182 | assert count == len(values), count |
| 183 | if dtype is None: |
| 184 | assert described is False |
| 185 | else: |
| 186 | assert described |
| 187 | assert type == aTYPE, type |
| 188 | assert self.data.enter() |
| 189 | if described: |
| 190 | assert self.data.next() == dTYPE |
| 191 | getter = getattr(self.data, "get_%s" % dtype) |
| 192 | gotten = getter() |
| 193 | assert gotten == descriptor, gotten |
| 194 | if values: |
| 195 | getter = getattr(self.data, "get_%s" % atype) |
| 196 | for v in values: |
| 197 | assert self.data.next() == aTYPE |
| 198 | gotten = getter() |
| 199 | assert gotten == v, gotten |
| 200 | assert self.data.next() is None |
| 201 | assert self.data.exit() |
| 202 | |
| 203 | def testStringArray(self): |
| 204 | self._testArray(None, None, "string", "one", "two", "three") |
no test coverage detected