コード例 #1
0
ファイル: test_format.py プロジェクト: salilab/imp
 def test_python_read_too_long(self):
     """Test that read() returning too many bytes is handled"""
     class MyFileLike(object):
         def read(self, numbytes):
             return " " * (numbytes + 10)
     fh = MyFileLike()
     f = _format.ihm_file_new_from_python(fh)
     reader = _format.ihm_reader_new(f)
     self.assertRaises(ValueError, _format.ihm_read_file, reader)
     _format.ihm_reader_free(reader)
コード例 #2
0
ファイル: test_format.py プロジェクト: salilab/imp
 def test_python_read_not_string(self):
     """Test that read() returning an invalid type is handled"""
     class MyFileLike(object):
         def read(self, numbytes):
             return 42
     fh = MyFileLike()
     f = _format.ihm_file_new_from_python(fh)
     reader = _format.ihm_reader_new(f)
     self.assertRaises(ValueError, _format.ihm_read_file, reader)
     _format.ihm_reader_free(reader)
コード例 #3
0
    def test_python_read_too_long(self):
        """Test that read() returning too many bytes is handled"""
        class MyFileLike(object):
            def read(self, numbytes):
                return " " * (numbytes * 4 + 10)

        fh = MyFileLike()
        f = _format.ihm_file_new_from_python(fh)
        reader = _format.ihm_reader_new(f)
        self.assertRaises(ValueError, _format.ihm_read_file, reader)
        _format.ihm_reader_free(reader)
コード例 #4
0
    def test_python_read_not_string(self):
        """Test that read() returning an invalid type is handled"""
        class MyFileLike(object):
            def read(self, numbytes):
                return 42

        fh = MyFileLike()
        f = _format.ihm_file_new_from_python(fh)
        reader = _format.ihm_reader_new(f)
        self.assertRaises(ValueError, _format.ihm_read_file, reader)
        _format.ihm_reader_free(reader)
コード例 #5
0
ファイル: test_format.py プロジェクト: salilab/imp
 def test_python_read_exception(self):
     """Test exception in read callback is handled"""
     class MyError(Exception):
         pass
     class MyFileLike(object):
         def read(self, numbytes):
             raise MyError("some error")
     fh = MyFileLike()
     f = _format.ihm_file_new_from_python(fh)
     reader = _format.ihm_reader_new(f)
     self.assertRaises(MyError, _format.ihm_read_file, reader)
     _format.ihm_reader_free(reader)
コード例 #6
0
    def test_python_read_exception(self):
        """Test exception in read callback is handled"""
        class MyError(Exception):
            pass

        class MyFileLike(object):
            def read(self, numbytes):
                raise MyError("some error")

        fh = MyFileLike()
        f = _format.ihm_file_new_from_python(fh)
        reader = _format.ihm_reader_new(f)
        self.assertRaises(MyError, _format.ihm_read_file, reader)
        _format.ihm_reader_free(reader)
コード例 #7
0
    def test_multiple_set_unknown_handler(self):
        """Test setting unknown handler multiple times"""
        class Handler(object):
            def __call__(self):
                pass

        uc = Handler()
        fh = StringIO()
        c_file = _format.ihm_file_new_from_python(fh)
        reader = _format.ihm_reader_new(c_file)
        # Handler must be a callable object
        self.assertRaises(ValueError, _format.add_unknown_category_handler,
                          reader, None)
        self.assertRaises(ValueError, _format.add_unknown_keyword_handler,
                          reader, None)
        _format.add_unknown_category_handler(reader, uc)
        _format.add_unknown_category_handler(reader, uc)
        _format.add_unknown_keyword_handler(reader, uc)
        _format.add_unknown_keyword_handler(reader, uc)
        _format.ihm_reader_remove_all_categories(reader)
        _format.ihm_reader_remove_all_categories(reader)
        _format.ihm_reader_free(reader)
        fh.close()