def __init__(self): detector = HierarchicalDetector() panel1 = detector.add_panel() panel1.set_name("P1") panel1.set_type("P") panel2 = detector.add_panel() panel2.set_name("P2") panel2.set_type("P") panel3 = detector.add_panel() panel3.set_name("P3") panel3.set_type("P") panel4 = detector.add_panel() panel4.set_name("P4") panel4.set_type("P") root = detector.hierarchy() root.set_name("D1") root.set_type("D") quad1 = root.add_group() quad1.set_name("Q1") quad1.set_type("Q") quad1.add_panel(panel1) quad1.add_panel(panel2) quad2 = root.add_group() quad2.set_name("Q2") quad2.set_type("Q") quad2.add_panel(panel3) quad2.add_panel(panel4) self.detector = detector
def tst_hierarchical_detector(): '''Test pickling the detector object.''' p = Panel() p.set_local_frame((1, 0, 0), (0, 1, 0), (0, 0, 1)) obj1 = HierarchicalDetector(p) root = obj1.hierarchy() root.add_panel(obj1[0]) root.add_group() obj2 = pickle_then_unpickle(obj1) assert(obj2.hierarchy()._container == obj2) assert(obj2.hierarchy()[0] == obj2[0]) assert(obj2.hierarchy()[0] in obj2) assert(type(obj2.hierarchy()[1]) == PanelGroup) assert(obj1 == obj2) print "OK"