def test_run_no_files_from_hidef(self): temp_dir = tempfile.mkdtemp() try: input_file = os.path.join(TestCdhidef.HUNDRED_NODE_DIR, 'input.txt') f_out = io.StringIO() f_err = io.StringIO() fakecmd = os.path.join(temp_dir, 'foo.py') write_fake_hidef(fakecmd, 'stdout', 'stderr', temp_dir, 0) myargs = [input_file, '--tempdir', temp_dir, '--hidefcmd', fakecmd] theargs = cdhidefcmd._parse_arguments('desc', myargs) res = cdhidefcmd.run_hidef(theargs, out_stream=f_out, err_stream=f_err) err_data = f_err.getvalue() out_data = f_out.getvalue() self.assertEqual(0, len(out_data)) self.assertTrue('Output from cmd: ' in err_data) self.assertEqual(5, res) finally: shutil.rmtree(temp_dir)
def test_run_hidef_success(self): temp_dir = tempfile.mkdtemp() try: input_file = os.path.join(TestCdhidef.HUNDRED_NODE_DIR, 'input.txt') f_out = io.StringIO() f_err = io.StringIO() fakecmd = os.path.join(temp_dir, 'foo.py') write_fake_hidef(fakecmd, 'stdout', 'stderr', TestCdhidef.HUNDRED_NODE_DIR, 0) myargs = [input_file, '--tempdir', temp_dir, '--hidefcmd', fakecmd] theargs = cdhidefcmd._parse_arguments('desc', myargs) res = cdhidefcmd.run_hidef(theargs, out_stream=f_out, err_stream=f_err) err_data = f_err.getvalue() self.assertTrue("'--skipgml', " "'--k', '5', " "'--maxres', " "'25.0', '--p', '75', " "'--alg', 'leiden'" in err_data) out_data = f_out.getvalue() self.assertEqual(4087, len(out_data)) self.assertEqual(0, res) finally: shutil.rmtree(temp_dir)
def test_build_optional_arguments_with_n(self): myargs = ['i2', '--n', '1', '--k', '3', '--maxres', '0.6', '--p', '8', '--alg', 'leiden', '--hidefcmd', 'foo', '--tempdir', 'yo'] res = cdhidefcmd._parse_arguments('desc', myargs) optargs = cdhidefcmd.build_optional_arguments(res) self.assertEqual('--n', optargs[0]) self.assertEqual('1', optargs[1]) self.assertEqual('--k', optargs[2]) self.assertEqual('3', optargs[3]) self.assertEqual('--maxres', optargs[4]) self.assertEqual('0.6', optargs[5]) self.assertEqual('--p', optargs[6]) self.assertEqual('8', optargs[7]) self.assertEqual('--alg', optargs[8]) self.assertEqual('leiden', optargs[9])
def test_parse_args_all_defaults(self): myargs = ['inputarg'] res = cdhidefcmd._parse_arguments('desc', myargs) self.assertEqual('inputarg', res.input) self.assertEqual(None, res.n) self.assertEqual(5, res.k) self.assertEqual(25.0, res.maxres) self.assertEqual(75, res.p) self.assertEqual('leiden', res.alg) self.assertEqual('hidef_finder.py', res.hidefcmd) self.assertEqual('/tmp', res.tempdir)
def test_run_hidef_no_file(self): temp_dir = tempfile.mkdtemp() try: tfile = os.path.join(temp_dir, 'foo') myargs = [tfile] f_out = io.StringIO() f_err = io.StringIO() theargs = cdhidefcmd._parse_arguments('desc', myargs) res = cdhidefcmd.run_hidef(theargs, out_stream=f_out, err_stream=f_err) self.assertEqual(3, res) self.assertEqual(tfile + ' is not a file', f_err.getvalue()) self.assertEqual('', f_out.getvalue()) finally: shutil.rmtree(temp_dir)
def test_build_optional_arguments(self): myargs = ['i2'] res = cdhidefcmd._parse_arguments('desc', myargs) optargs = cdhidefcmd.build_optional_arguments(res) self.assertEqual('--k', optargs[0]) self.assertEqual('5', optargs[1]) self.assertEqual('--maxres', optargs[2]) self.assertEqual('25.0', optargs[3]) self.assertEqual('--p', optargs[4]) self.assertEqual('75', optargs[5]) self.assertEqual('--alg', optargs[6]) self.assertEqual('leiden', optargs[7])
def test_parse_args_custom_params(self): myargs = ['i2', '--n', '1', '--k', '3', '--maxres', '0.6', '--p', '8', '--alg', 'leiden', '--hidefcmd', 'foo', '--tempdir', 'yo'] res = cdhidefcmd._parse_arguments('desc', myargs) self.assertEqual('i2', res.input) self.assertEqual(1, res.n) self.assertEqual(3, res.k) self.assertEqual(0.6, res.maxres) self.assertEqual(8, res.p) self.assertEqual('leiden', res.alg) self.assertEqual('foo', res.hidefcmd) self.assertEqual('yo', res.tempdir)