def test_traverse(self): from bokeh.objects import PlotObject, traverse_plot_object pobject = PlotObject() pobject.properties_with_refs = Mock(return_value=['test1', 'test2']) pobject.test1 = PlotObject() pobject.test2 = 2 pobject.test3 = PlotObject() result = traverse_plot_object(pobject) self.assertTrue(pobject.test1 in result) self.assertTrue(len(result) == 1)
def test_r_traverse(self): from bokeh.objects import PlotObject, recursively_traverse_plot_object pobject1 = PlotObject() pobject2 = PlotObject() pobject3 = PlotObject() pobject4 = PlotObject() pobject1.pobject2 = pobject2 pobject1.pobject3 = pobject3 pobject3.pobject4 = pobject4 pobject1.properties_with_refs = Mock( return_value=['pobject2', 'pobject3']) pobject3.properties_with_refs = Mock(return_value=['pobject4']) resultset = recursively_traverse_plot_object(pobject1) expectedset = set([pobject1, pobject2, pobject3, pobject4]) self.assertEqual(resultset, expectedset)