def test_set_cmd(self): original_sys_argv = list(sys.argv) sys.argv = [0, "test"] # test substitutions str_inp = "import sys\nimport argparse" str_exp = "import sys\nsys.argv = ['a.py', '1', '2']\nimport argparse" str_out, sys_argv = iw.set_cmd(str_inp, "a.py", (1, 2)) self.assertEqual(str_out, str_exp) self.assertEqual(sys_argv, [0, "test"]) str_inp = "import argparse" str_exp = "import argparse\nimport sys\nsys.argv = ['a.py', '1', '2']" str_out, sys_argv = iw.set_cmd(str_inp, "a.py", ["1", 2]) self.assertEqual(str_out, str_exp) self.assertEqual(sys_argv, [0, "test"]) # test exceptions str_inp = "import re" self.assertRaises(AssertionError, iw.set_cmd, str_inp, "a.py", (1, 2)) # restore sys.argv sys.argv = original_sys_argv
def test_set_cmd(self): original_sys_argv = list(sys.argv) sys.argv = [0, "test"] path = pathlib.Path("a.py") # test substitutions str_inp = "import sys\nimport argparse" str_exp = f"import sys;sys.argv = ['{path.name}', '1', '2'];" + str_inp str_out, sys_argv = iw.set_cmd(str_inp, path, (1, 2)) self.assertEqual(str_out, str_exp) self.assertEqual(sys_argv, [0, "test"]) str_inp = "import argparse" str_exp = f"import sys;sys.argv = ['{path.name}', '1', '2'];" + str_inp str_out, sys_argv = iw.set_cmd(str_inp, path, ["1", 2]) self.assertEqual(str_out, str_exp) self.assertEqual(sys_argv, [0, "test"]) # test exceptions str_inp = "import re" self.assertRaises(AssertionError, iw.set_cmd, str_inp, path, (1, 2)) # restore sys.argv sys.argv = original_sys_argv