Changeset 4572

Show
Ignore:
Timestamp:
04/24/09 17:40:00 (4 years ago)
Author:
getxsick
Message:

tests: PaddingField?

Files:
1 modified

Legend:

Unmodified
Added
Removed
  • branch/UMPA/tests/unit/test_protocols/test_fields.py

    r4565 r4572  
    291291                                    "FFFF.FFFF.FFFF.FFFF.FFFF.FFFF.FFFF.FFFF") 
    292292        py.test.raises(UMPAAttributeException, f.set, "G:G:G:G:G:G:G:G") 
     293 
     294class 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