1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77
|
#!/usr/bin/env python3
# -*- coding: utf-8 -*-
"""
Part of pymzml test cases
"""
import sys
import os
import pymzml.regex_patterns as rp
import unittest
from collections import OrderedDict as odict
import re
class RegexTest(unittest.TestCase):
def setUp(self):
spec_OBO_1_1_0 = (
b'<spectrum id="spectrum=1019" index="8" defaultArrayLength="431">'
)
spec_OBO_1_1_0 = b'<spectrum id="scan=3" index="0" sourceFileRef="SF1" defaultArrayLength="92">'
spec_OBO_1_0_0 = (
b'<spectrum index="317" id="S318" nativeID="318" defaultArrayLength="34">'
)
spec_OBO_0_99_1 = b'<spectrum id="S20" scanNumber="20" msLevel="2">'
chro_OBO_1_1_0 = ""
chro_OBO_1_1_0 = ""
chro_OBO_1_0_0 = ""
chro_OBO_0_99_1 = ""
self.spec_tags = odict(
[
("OBO_1_1_0", spec_OBO_1_1_0),
("OBO_1_1_0", spec_OBO_1_1_0),
("OBO_1_0_0", spec_OBO_1_0_0),
("OBO_0_99_1", spec_OBO_0_99_1),
]
)
self.chro_tags = odict(
[
("OBO_1_1_0", chro_OBO_1_1_0),
("OBO_1_1_0", chro_OBO_1_1_0),
("OBO_1_0_0", chro_OBO_1_0_0),
("OBO_0_99_1", chro_OBO_0_99_1),
]
)
def test_spectrum_id_patter(self):
for tag in self.spec_tags.values():
self.assertRegex(tag.decode("utf-8"), rp.SPECTRUM_ID_PATTERN)
# def test_spectrum_open_patter(self):
# for tag in self.spec_tags.values():
# print('tag', tag, rp.SPECTRUM_OPEN_PATTERN)
# self.assertRegex(
# tag,
# rp.SPECTRUM_OPEN_PATTERN
# )
def test_spectrum_tag_patter(self):
for tag in self.spec_tags.values():
self.assertRegex(tag.decode("utf-8"), rp.SPECTRUM_TAG_PATTERN)
def test_index_and_id_order_does_not_matter(self):
a = b'<spectrum id="controllerType=0 controllerNumber=1 scan=1" index="0" defaultArrayLength="1100">'
b = b'<spectrum index="0" id="controllerType=0 controllerNumber=1 scan=1" defaultArrayLength="917">'
a_match = re.search(rp.SPECTRUM_OPEN_PATTERN, a).groups()
b_match = re.search(rp.SPECTRUM_OPEN_PATTERN, b).groups()
a_dict = dict(zip(a_match[0::2], a_match[1::2]))
b_dict = dict(zip(b_match[0::2], b_match[1::2]))
assert a_dict == b_dict
if __name__ == "__main__":
unittest.main(verbosity=3)
|