X-Git-Url: http://www.wagner.pp.ru/gitweb/?a=blobdiff_plain;f=tests%2Ftestbio.py;h=60c6a6a821a0475751b1a466ebbd81ef9a330093;hb=HEAD;hp=d174a83bff31485d292ba631492561e3fec25f26;hpb=e3bfb3cbff37b907742c1a959a1ac44ad2ccda8c;p=oss%2Fctypescrypto.git diff --git a/tests/testbio.py b/tests/testbio.py index d174a83..60c6a6a 100644 --- a/tests/testbio.py +++ b/tests/testbio.py @@ -1,15 +1,43 @@ from ctypescrypto.bio import Membio import unittest +import sys +if sys.version[0]>'2': + def unicode(b): + return str(b) + class TestRead(unittest.TestCase): - def test_readshortstr(self): - s="A quick brown fox jumps over a lazy dog" - bio=Membio(s) - data=bio.read() - del bio - self.assertEqual(data,s) - def test_readlongstr(self): - poem='''Eyes of grey--a sodden quay, + def test_readshortstr(self): + s=b"A quick brown fox jumps over a lazy dog" + bio=Membio(s) + data=bio.read() + self.assertEqual(data,s) + data2=bio.read() + self.assertEqual(data2,b"") + del bio + def test_readwithlen(self): + s=b"A quick brown fox jumps over a lazy dog" + bio=Membio(s) + data=bio.read(len(s)) + self.assertEqual(data,s) + data2=bio.read(5) + self.assertEqual(data2,b"") + def test_readwrongtype(self): + s=b"A quick brown fox jumps over a lazy dog" + bio=Membio(s) + with self.assertRaises(TypeError): + data=bio.read("5") + def test_reset(self): + s=b"A quick brown fox jumps over a lazy dog" + bio=Membio(s) + data=bio.read() + bio.reset() + data2=bio.read() + del bio + self.assertEqual(data,data2) + self.assertEqual(data,s) + def test_readlongstr(self): + poem=b'''Eyes of grey--a sodden quay, Driving rain and falling tears, As the steamer wears to sea In a parting storm of cheers. @@ -59,30 +87,39 @@ And a maiden showed me grace, Four-and-forty times would I Sing the Lovers' Litany: "Love like ours can never die!"''' - bio=Membio(poem) - data=bio.read() - self.assertEqual(data,poem) - del bio - def test_readparts(self): - s="A quick brown fox jumps over the lazy dog" - bio=Membio(s) - a=bio.read(10) - self.assertEqual(a,s[0:10]) - b=bio.read(9) - self.assertEqual(b,s[10:19]) - c=bio.read() - self.assertEqual(c,s[19:]) - d=bio.read() - self.assertEqual(d,"") + bio=Membio(poem) + data=bio.read() + self.assertEqual(data,poem) + del bio + def test_readparts(self): + s=b"A quick brown fox jumps over the lazy dog" + bio=Membio(s) + a=bio.read(10) + self.assertEqual(a,s[0:10]) + b=bio.read(9) + self.assertEqual(b,s[10:19]) + c=bio.read() + self.assertEqual(c,s[19:]) + d=bio.read() + self.assertEqual(d,b"") class TestWrite(unittest.TestCase): - def test_write(self): - b=Membio() - b.write("A quick brown ") - b.write("fox jumps over ") - b.write("the lazy dog.") - self.assertEqual(str(b),"A quick brown fox jumps over the lazy dog.") - + def test_write(self): + b=Membio() + b.write(b"A quick brown ") + b.write(b"fox jumps over ") + b.write(b"the lazy dog.") + self.assertEqual(str(b),"A quick brown fox jumps over the lazy dog.") + def test_unicode(self): + b=Membio() + s=b'\xd0\xba\xd0\xb0\xd0\xba \xd1\x8d\xd1\x82\xd0\xbe \xd0\xbf\xd0\xbe-\xd1\x80\xd1\x83\xd1\x81\xd1\x81\xd0\xba\xd0\xb8' + b.write(s) + self.assertEqual(unicode(b),u'\u043a\u0430\u043a \u044d\u0442\u043e \u043f\u043e-\u0440\u0443\u0441\u0441\u043a\u0438') + def test_unicode2(self): + b=Membio() + u=u'\u043a\u0430\u043a \u044d\u0442\u043e \u043f\u043e-\u0440\u0443\u0441\u0441\u043a\u0438' + b.write(u) + self.assertEqual(unicode(b),u) if __name__ == '__main__': - unittest.main() + unittest.main()