def PictureChecker(self, pysi, filename):
     if not self.checkPictures:
         return
     currentDirectory = os.getcwd()
     os.chdir(self.path)
     testFilename = self.FileNameForTest(filename) + '.TpX'
     try:
         from SignalIntegrity.App.TpX import TpX
         from SignalIntegrity.App.TikZ import TikZ
         tpx = pysi.Drawing.DrawSchematic(TpX()).Finish()
         tikz = pysi.Drawing.DrawSchematic(TikZ()).Finish()
         tpx.lineList = tpx.lineList + tikz.lineList
     except:
         self.assertTrue(False, filename + ' couldnt be drawn')
     if not os.path.exists(testFilename) or self.forceWritePictures:
         tpx.WriteToFile(testFilename)
         if not self.relearn:
             self.assertTrue(False, testFilename + ' not found')
     with open(testFilename) as f:
         regression = f.readlines()
     if tpx.lineList == regression:
         os.chdir(currentDirectory)
         return
     # if we get here, we need a more complicated test because ordering may have changed
     self.assertTrue(
         len(tpx.lineList) == len(regression), testFilename + ' incorrect')
     itemsToCheck = [True for _ in range(len(regression))]
     for tpxline in tpx.lineList:
         foundOne = False
         for k in range(len(regression)):
             if itemsToCheck[k] and not foundOne:
                 if tpxline == regression[k]:
                     itemsToCheck[k] = False
                     foundOne = True
             if foundOne:
                 continue
         self.assertTrue(foundOne, testFilename + ' incorrect')
     print(testFilename + ' okay, but in different order')
     os.chdir(currentDirectory)
 def __init__(self, parent):
     self.parent = parent
     self.canvas = TikZ()
     self.schematic = Schematic()