def test_reruns_just_plot_if_plot_changed(self): import pydataframe def calc(): append('out/calc', 'A') return pydataframe.DataFrame({ "X": list(range(0, 100)), 'Y': list(range(50, 150)) }) def plot(df): append('out/plot', 'B') return pyggplot.Plot(df).add_scatter('X', 'Y') of = 'out/test.png' job = ppg.PlotJob(of, calc, plot) ppg.run_pipegraph() self.assertTrue(magic(of).find('PNG image') != -1) self.assertEqual(read('out/calc'), 'A') self.assertEqual(read('out/plot'), 'B') ppg.new_pipegraph(rc_gen(), quiet=True) def plot2(df): append('out/plot', 'B') return pyggplot.Plot(df).add_scatter('Y', 'X') job = ppg.PlotJob(of, calc, plot2) ppg.run_pipegraph() self.assertTrue(magic(of).find('PNG image') != -1) self.assertEqual(read('out/calc'), 'A') self.assertEqual(read('out/plot'), 'BB')
def test_no_rerun_if_ignore_code_changes_and_plot_changes(self): import pydataframe def calc(): append('out/calc', 'A') return pydataframe.DataFrame({"X": list(range(0, 100)), 'Y': list(range(50, 150))}) def plot(df): append('out/plot', 'B') return pyggplot.Plot(df).add_scatter('X','Y') of = 'out/test.png' job = ppg.PlotJob(of, calc, plot) ppg.run_pipegraph() self.assertTrue(magic(of).find('PNG image') != -1) self.assertEqual(read('out/calc'),'A') self.assertEqual(read('out/plot'),'B') ppg.new_pipegraph(rc_gen(), quiet=True) def plot2(df): append('out/plot', 'B') return pyggplot.Plot(df).add_scatter('Y','X') job = ppg.PlotJob(of, calc, plot2) job.ignore_code_changes() ppg.run_pipegraph() self.assertTrue(magic(of).find('PNG image') != -1) self.assertEqual(read('out/calc'),'A') self.assertEqual(read('out/plot'),'B')
def test_reruns_both_if_calc_changed(self): import pydataframe def calc(): append('out/calc', 'A') return pydataframe.DataFrame({"X": list(range(0, 100)), 'Y': list(range(50, 150))}) def plot(df): append('out/plot', 'B') return pyggplot.Plot(df).add_scatter('X','Y') of = 'out/test.png' job = ppg.PlotJob(of, calc, plot) ppg.run_pipegraph() self.assertTrue(magic(of).find('PNG image') != -1) self.assertEqual(read('out/calc'),'A') self.assertEqual(read('out/plot'),'B') ppg.new_pipegraph(rc_gen(), quiet=True) def calc2(): append('out/calc', 'A') x = 5 return pydataframe.DataFrame({"X": list(range(0, 100)), 'Y': list(range(50, 150))}) job = ppg.PlotJob(of, calc2, plot) ppg.run_pipegraph() self.assertTrue(magic(of).find('PNG image') != -1) self.assertEqual(read('out/calc'),'AA') self.assertEqual(read('out/plot'),'BB')
def test_no_rerun_if_calc_change_but_ignore_codechanges(self): import pydataframe def calc(): append('out/calc', 'A') return pydataframe.DataFrame({ "X": list(range(0, 100)), 'Y': list(range(50, 150)) }) def plot(df): append('out/plot', 'B') return pyggplot.Plot(df).add_scatter('X', 'Y') of = 'out/test.png' job = ppg.PlotJob(of, calc, plot) ppg.run_pipegraph() self.assertTrue(magic(of).find('PNG image') != -1) self.assertEqual(read('out/calc'), 'A') self.assertEqual(read('out/plot'), 'B') ppg.new_pipegraph(rc_gen(), quiet=True) def calc2(): append('out/calc', 'A') x = 5 return pydataframe.DataFrame({ "X": list(range(0, 100)), 'Y': list(range(50, 150)) }) job = ppg.PlotJob(of, calc2, plot) job.ignore_code_changes() ppg.run_pipegraph() self.assertTrue(magic(of).find('PNG image') != -1) self.assertEqual(read('out/calc'), 'A') self.assertEqual(read('out/plot'), 'B')