view rankfilter_GCMS/test/test_pdfread.py @ 26:637830ac8bcd

added validation in metexp to tabular tool; added workaround/fix for L and D compound types
author pieter.lukasse@wur.nl
date Thu, 24 Apr 2014 11:28:38 +0200
parents 53e1eee93430
children d685210eef3e
line wrap: on
line source

'''
Created on Mar 13, 2012

@author: marcelk
'''
from GCMS.rankfilter_GCMS import pdfread  # @UnresolvedImport
from pkg_resources import resource_filename  # @UnresolvedImport # pylint: disable=E0611
import unittest


class Test(unittest.TestCase):

    def setUp(self):
        self.nist_pdf = resource_filename(__name__, "data/NIST_test_PDF.txt")

    def test_getPDF(self):
        '''
        Tests the reading and parsing of a NIST PDF file
        '''
        [hitlist, hitlist_missed] = pdfread.getPDF(self.nist_pdf, True)
        rows = [hitlist[row] for row in hitlist.keys()]
        data = [set(row) for row in zip(*rows)]
        expected_element = set(('12.3', ' Sucrose ', '14', 'undef', ' standards 2009', ' 660', 'not_def',
        '18495-0.142537-21284-2.26544e+07-135', '22.6544', ' 714'))
        self.failUnless(expected_element in data)
        self.failUnless(len(hitlist_missed) != 0)
        '''
        Check for last (dummy) hit:  
        Hit 6 : (dummy hit)Sorbopyranose, 1,2,3,4,5-pentakis-O-(trimethylsilyl)-, LC21H52O6Si5;MF: 658; RMF: 658; Prob 15.6%; CAS: 30645-02-4; Lib: mainlib; ID: 37062.
        '''
        expected_element = set(['C21H52O6Si5', ' 30645-02-4', ' mainlib', '15.6', ' (dummy hit)Sorbopyranose, 1,2,3,4,5-pentakis-O-(trimethylsilyl)-, L C21H52O6Si5', '7298-1-9580-1.29014e+07-9', ' 658', '12.9014', '37062'])
        self.failUnless(expected_element in data)
        

if __name__ == "__main__":
    #import sys;sys.argv = ['', 'Test.test_getPDF']
    unittest.main()