예제 #1
0
    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)
예제 #2
0
    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)
예제 #3
0
    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])
예제 #4
0
 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)
예제 #5
0
 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)
예제 #6
0
    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])
예제 #7
0
 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)