| | 293 | |
| | 294 | class TestPaddingField(TestSpecialIntField): |
| | 295 | cls_field = PaddingField |
| | 296 | |
| | 297 | def test_init(self): |
| | 298 | f = self.cls_field('foobar') |
| | 299 | assert f.auto is True |
| | 300 | assert f.get() == 0 |
| | 301 | |
| | 302 | f = self.cls_field('foobar', 8) |
| | 303 | assert f.auto is True |
| | 304 | assert f.get() == 0 |
| | 305 | |
| | 306 | def test_get(self): |
| | 307 | f = self.cls_field('foobar') |
| | 308 | assert f.get() == 0 |
| | 309 | |
| | 310 | f = self.cls_field('foobar', 8) |
| | 311 | assert f.get() == 0 |
| | 312 | |
| | 313 | def test_set(self): |
| | 314 | f = self.cls_field('foobar', 10) |
| | 315 | assert f.get() == 0 |
| | 316 | |
| | 317 | f.set(5) |
| | 318 | assert f.get() == 5 |
| | 319 | |
| | 320 | f.set(0) |
| | 321 | assert f.get() == 0 |
| | 322 | |
| | 323 | f._word = 9 |
| | 324 | f.set(9) |
| | 325 | assert f.get() == 9 |
| | 326 | py.test.raises(UMPAAttributeException, f.set, 10) |
| | 327 | py.test.raises(UMPAAttributeException, f.set, -1) |
| | 328 | |
| | 329 | def test_raw_value(self): |
| | 330 | f = self.cls_field('foobar') |
| | 331 | assert f._raw_value() == 0 |
| | 332 | |
| | 333 | def test_generate_value(self): |
| | 334 | f = self.cls_field('foobar') |
| | 335 | |
| | 336 | f._tmp_value = 0 |
| | 337 | assert f._generate_value() == 0 |
| | 338 | f._tmp_value = 1 |
| | 339 | assert f._generate_value() == 31 |
| | 340 | f._tmp_value = 10 |
| | 341 | assert f._generate_value() == 22 |
| | 342 | f._tmp_value = 31 |
| | 343 | assert f._generate_value() == 1 |
| | 344 | f._tmp_value = 32 |
| | 345 | assert f._generate_value() == 0 |
| | 346 | f._tmp_value = 33 |
| | 347 | assert f._generate_value() == 31 |
| | 348 | |
| | 349 | f = self.cls_field('foobar', 16) # word == 16 |
| | 350 | |
| | 351 | f._tmp_value = 0 |
| | 352 | assert f._generate_value() == 0 |
| | 353 | f._tmp_value = 1 |
| | 354 | assert f._generate_value() == 15 |
| | 355 | f._tmp_value = 10 |
| | 356 | assert f._generate_value() == 6 |
| | 357 | f._tmp_value = 15 |
| | 358 | assert f._generate_value() == 1 |
| | 359 | f._tmp_value = 32 |
| | 360 | assert f._generate_value() == 0 |
| | 361 | f._tmp_value = 33 |
| | 362 | assert f._generate_value() == 15 |
| | 363 | |
| | 364 | def test_fillout(self): |
| | 365 | f = self.cls_field('foobar') |
| | 366 | assert f.bits == 0 |
| | 367 | assert f.fillout() == 0 |
| | 368 | assert f.bits == 0 |
| | 369 | |
| | 370 | f._tmp_value = 3 |
| | 371 | assert f.fillout() == 0 |
| | 372 | assert f.bits == 29 |
| | 373 | |
| | 374 | f._word = 16 |
| | 375 | f._tmp_value = 3 |
| | 376 | f.bits = 0 |
| | 377 | assert f.fillout() == 0 |
| | 378 | assert f.bits == 13 |
| | 379 | |