def testSetFlushConsole(self): flush = {'count': 0} def f(): flush['count'] = flush['count'] + 1 rinterface.set_flushconsole(f) self.assertEquals(rinterface.get_flushconsole(), f) rinterface.baseenv.get("flush.console")() self.assertEquals(1, flush['count']) rinterface.set_writeconsole(rinterface.consoleFlush)
def testSetWriteConsole(self): buf = [] def f(x): buf.append(x) rinterface.set_writeconsole(f) self.assertEquals(rinterface.get_writeconsole(), f) code = rinterface.SexpVector(["3", ], rinterface.STRSXP) rinterface.baseenv["print"](code) self.assertEquals('[1] "3"\n', str.join('', buf))
def testWriteConsoleWithError(self): def f(x): raise CustomException("Doesn't work.") rinterface.set_writeconsole(f) tmp_file = tempfile.NamedTemporaryFile() stderr = sys.stderr sys.stderr = tmp_file try: code = rinterface.SexpVector(["3", ], rinterface.STRSXP) rinterface.baseenv["print"](code) except Exception, e: sys.stderr = stderr raise e
def testChooseFileWithError(self): def noconsole(x): pass rinterface.set_writeconsole(noconsole) # reverted by the tearDown method def f(prompt): raise Exception("Doesn't work.") rinterface.set_choosefile(f) tmp_file = tempfile.NamedTemporaryFile() stderr = sys.stderr sys.stderr = tmp_file try: res = rinterface.baseenv["file.choose"]() except rinterface.RRuntimeError, rre: pass
def setUp(self): self.console = rinterface.get_writeconsole() def noconsole(x): pass rinterface.set_writeconsole(noconsole)
def tearDown(self): rinterface.set_writeconsole(self.console)
def tearDown(self): rinterface.set_writeconsole(rinterface.consolePrint) rinterface.set_readconsole(rinterface.consoleRead) rinterface.set_readconsole(rinterface.consoleFlush) rinterface.set_choosefile(rinterface.chooseFile)