#!/hive/groups/encode/dcc/bin/python import sys, os, shutil import unittest from ucscgenomics import mkChangeNotes import CurrentMkChangeNotes database = 'encodeTest' composite = 'wgEncodeTest' argsdict = {'database': database, 'composite': composite, 'releaseNew': '2', 'releaseOld': '1', 'loose': 0, 'ignore': 0, 'summary': 0, 'specialMdb': 'wgEncodeTest2'} real = CurrentMkChangeNotes.makeNotes(argsdict) test = mkChangeNotes.makeNotes(argsdict) class mkChangeNotesFunctionTests(unittest.TestCase): def testCheckMetaDbForFiles(self): self.assertEqual(test.checkMetaDbForFiles("test", "new"), real.checkMetaDbForFiles("test", "new")) def testCheckTableStatus(self): self.assertEqual(test.checkTableStatus("test", "new"), real.checkTableStatus("test", "new")) def testGetGbdbFiles(self): self.assertEqual(test.getGbdbFiles("new"), real.getGbdbFiles("new")) def testErrors(self): self.assertEqual(test.errors, real.errors) def testImportantVariables(self): reallist = [set(real.newReleaseFiles), set(real.oldReleaseFiles), set(real.newMdb), real.revokedSet, real.revokedFiles, real.atticSet, real.newSupplementalSet, set(real.oldMdb), real.oldSupplementalSet, real.newTableSet, real.revokedTableSet, real.oldTableSet, real.newGbdbSet, real.revokedGbdbs, real.oldGbdbSet, real.oldTotalFiles, real.additionalList, real.oldAdditionalList, real.totalFiles] testlist = [set(test.newReleaseFiles), set(test.oldReleaseFiles), set(test.newMdb), test.revokedSet, test.revokedFiles, test.atticSet, test.newSupplementalSet, set(test.oldMdb), test.oldSupplementalSet, test.newTableSet, test.revokedTableSet, test.oldTableSet, test.newGbdbSet, test.revokedGbdbs, test.oldGbdbSet, test.oldTotalFiles, test.additionalList, test.oldAdditionalList, test.totalFiles] self.assertEqual(testlist, reallist) class mkChangeNotesZEndToEndCheck(unittest.TestCase): def testRelease1(self): argsdict['releaseNew'] = '1' argsdict['releaseOld'] = 'solo' argsdict['specialMdb'] = 'wgEncodeTest1' real = CurrentMkChangeNotes.makeNotes(argsdict) test = mkChangeNotes.makeNotes(argsdict) self.assertListEqual(test.output,real.output) def testRelease2(self): argsdict['releaseNew'] = '2' argsdict['releaseOld'] = '1' argsdict['specialMdb'] = 'wgEncodeTest2' real = CurrentMkChangeNotes.makeNotes(argsdict) test = mkChangeNotes.makeNotes(argsdict) self.assertListEqual(test.output,real.output) def testRelease3(self): argsdict['releaseNew'] = '3' argsdict['releaseOld'] = '2' argsdict['specialMdb'] = 'wgEncodeTest3' real = CurrentMkChangeNotes.makeNotes(argsdict) test = mkChangeNotes.makeNotes(argsdict) self.assertListEqual(test.output,real.output) def testRelease4(self): argsdict['releaseNew'] = '4' argsdict['releaseOld'] = '3' argsdict['specialMdb'] = 'wgEncodeTest4' real = CurrentMkChangeNotes.makeNotes(argsdict) test = mkChangeNotes.makeNotes(argsdict) self.assertListEqual(test.output,real.output) def main(): #user this area to check if the test you're going to make will work #remember to change unittest.main() to main() if you're gonna do that. argsdict = {'database': 'encodeTest', 'composite': 'wgEncodeTest', 'releaseNew': '1', 'releaseOld': 'solo', 'loose': 0, 'ignore': 1, 'summary': 0} argsdict['releaseNew'] = '1' argsdict['releaseOld'] = 'solo' argsdict['specialMdb'] = 'wgEncodeTest1' real = CurrentMkChangeNotes.makeNotes(argsdict) test = mkChangeNotes.makeNotes(argsdict) print real.output print test.output if __name__ == '__main__': unittest.main()