@@ -64,52 +64,44 @@ def update(self, subject):
6464
6565# Example usage...
6666def main ():
67- data1 = Data ('Data 1' )
68- data2 = Data ('Data 2' )
69- view1 = DecimalViewer ()
70- view2 = HexViewer ()
71- data1 .attach (view1 )
72- data1 .attach (view2 )
73- data2 .attach (view2 )
74- data2 .attach (view1 )
75-
76- print (u"Setting Data 1 = 10" )
77- data1 .data = 10
78- print (u"Setting Data 2 = 15" )
79- data2 .data = 15
80- print (u"Setting Data 1 = 3" )
81- data1 .data = 3
82- print (u"Setting Data 2 = 5" )
83- data2 .data = 5
84- print (u"Detach HexViewer from data1 and data2." )
85- data1 .detach (view2 )
86- data2 .detach (view2 )
87- print (u"Setting Data 1 = 10" )
88- data1 .data = 10
89- print (u"Setting Data 2 = 15" )
90- data2 .data = 15
91-
92-
93- if __name__ == '__main__' :
94- main ()
95-
96-
97- OUTPUT = """
98- Setting Data 1 = 10
99- DecimalViewer: Subject Data 1 has data 10
100- HexViewer: Subject Data 1 has data 0xa
101- Setting Data 2 = 15
102- HexViewer: Subject Data 2 has data 0xf
103- DecimalViewer: Subject Data 2 has data 15
104- Setting Data 1 = 3
105- DecimalViewer: Subject Data 1 has data 3
106- HexViewer: Subject Data 1 has data 0x3
107- Setting Data 2 = 5
108- HexViewer: Subject Data 2 has data 0x5
109- DecimalViewer: Subject Data 2 has data 5
110- Detach HexViewer from data1 and data2.
111- Setting Data 1 = 10
112- DecimalViewer: Subject Data 1 has data 10
113- Setting Data 2 = 15
114- DecimalViewer: Subject Data 2 has data 15
115- """
67+ """
68+ >>> data1 = Data('Data 1')
69+ >>> data2 = Data('Data 2')
70+ >>> view1 = DecimalViewer()
71+ >>> view2 = HexViewer()
72+ >>> data1.attach(view1)
73+ >>> data1.attach(view2)
74+ >>> data2.attach(view2)
75+ >>> data2.attach(view1)
76+
77+ >>> data1.data = 10
78+ DecimalViewer: Subject Data 1 has data 10
79+ HexViewer: Subject Data 1 has data 0xa
80+
81+ >>> data2.data = 15
82+ HexViewer: Subject Data 2 has data 0xf
83+ DecimalViewer: Subject Data 2 has data 15
84+
85+ >>> data1.data = 3
86+ DecimalViewer: Subject Data 1 has data 3
87+ HexViewer: Subject Data 1 has data 0x3
88+
89+ >>> data2.data = 5
90+ HexViewer: Subject Data 2 has data 0x5
91+ DecimalViewer: Subject Data 2 has data 5
92+
93+ # Detach HexViewer from data1 and data2
94+ >>> data1.detach(view2)
95+ >>> data2.detach(view2)
96+
97+ >>> data1.data = 10
98+ DecimalViewer: Subject Data 1 has data 10
99+
100+ >>> data2.data = 15
101+ DecimalViewer: Subject Data 2 has data 15
102+ """
103+
104+
105+ if __name__ == "__main__" :
106+ import doctest
107+ doctest .testmod ()
0 commit comments