@@ -55,3 +55,41 @@ def test_default_system(self):
5555 pq .set_default_units ('cgs' , length = 'mm' )
5656 self .assertQuantityEqual (pq .kg .simplified , 1000 * pq .g )
5757 self .assertQuantityEqual (pq .m .simplified , 1000 * pq .mm )
58+
59+ class TestUnitInformation (TestCase ):
60+
61+ def test_si (self ):
62+ pq .set_default_units (information = 'B' )
63+ self .assertQuantityEqual (pq .kB .simplified , pq .B * pq .kilo )
64+ self .assertQuantityEqual (pq .MB .simplified , pq .B * pq .mega )
65+ self .assertQuantityEqual (pq .GB .simplified , pq .B * pq .giga )
66+ self .assertQuantityEqual (pq .TB .simplified , pq .B * pq .tera )
67+ self .assertQuantityEqual (pq .PB .simplified , pq .B * pq .peta )
68+ self .assertQuantityEqual (pq .EB .simplified , pq .B * pq .exa )
69+ self .assertQuantityEqual (pq .ZB .simplified , pq .B * pq .zetta )
70+ self .assertQuantityEqual (pq .YB .simplified , pq .B * pq .yotta )
71+
72+ def test_si_aliases (self ):
73+ prefixes = ['kilo' , 'mega' , 'giga' , 'tera' , 'peta' , 'exa' , 'zetta' , 'yotta' ]
74+ for prefix in prefixes :
75+ self .assertQuantityEqual (pq .B .rescale (prefix + 'byte' ), pq .B .rescale (prefix + 'bytes' ))
76+ self .assertQuantityEqual (pq .B .rescale (prefix + 'byte' ), pq .B .rescale (prefix + 'octet' ))
77+ self .assertQuantityEqual (pq .B .rescale (prefix + 'byte' ), pq .B .rescale (prefix + 'octets' ))
78+
79+ def test_iec (self ):
80+ pq .set_default_units (information = 'B' )
81+ self .assertQuantityEqual (pq .KiB .simplified , pq .B * pq .kibi )
82+ self .assertQuantityEqual (pq .MiB .simplified , pq .B * pq .mebi )
83+ self .assertQuantityEqual (pq .GiB .simplified , pq .B * pq .gibi )
84+ self .assertQuantityEqual (pq .TiB .simplified , pq .B * pq .tebi )
85+ self .assertQuantityEqual (pq .PiB .simplified , pq .B * pq .pebi )
86+ self .assertQuantityEqual (pq .EiB .simplified , pq .B * pq .exbi )
87+ self .assertQuantityEqual (pq .ZiB .simplified , pq .B * pq .zebi )
88+ self .assertQuantityEqual (pq .YiB .simplified , pq .B * pq .yobi )
89+
90+ def test_iec_aliases (self ):
91+ prefixes = ['kibi' , 'mebi' , 'gibi' , 'tebi' , 'pebi' , 'exbi' , 'zebi' , 'yobi' ]
92+ for prefix in prefixes :
93+ self .assertQuantityEqual (pq .B .rescale (prefix + 'byte' ), pq .B .rescale (prefix + 'bytes' ))
94+ self .assertQuantityEqual (pq .B .rescale (prefix + 'byte' ), pq .B .rescale (prefix + 'octet' ))
95+ self .assertQuantityEqual (pq .B .rescale (prefix + 'byte' ), pq .B .rescale (prefix + 'octets' ))
0 commit comments