source: trunk/TestCase/SimpleTestCase/DelegateTest.ab@ 355

Last change on this file since 355 was 355, checked in by イグトランス (egtra), 17 years ago

FormatIntegerDを実装。
UnitTestの失敗時の表示を目立つようにした。
ArrayListを名前空間System.Collectionsに入れた。

File size: 2.1 KB
Line 
1/*
2Namespace DelegateTest
3
4Delegate Sub Callback1()
5Delegate Function Callback2() As Long
6Delegate Sub Callback3( a As Long )
7Delegate Sub Callback4( a As String )
8Delegate Function Callback7( str As String ) As String
9
10
11Class TestClass
12 proc1Flag As Boolean
13 proc2Flag As Boolean
14 proc3Flag As Boolean
15 proc4Flag As Boolean
16 proc5Flag As Boolean
17 proc6Flag As Boolean
18 proc8Flag As Boolean
19
20 Static staticProc1Flag = False As Boolean
21
22Public
23 Sub TestClass()
24 ClearFlags()
25 End Sub
26
27 Sub ClearFlags()
28 proc1Flag = False
29 proc2Flag = False
30 proc3Flag = False
31 proc4Flag = False
32 proc5Flag = False
33 proc6Flag = False
34 proc8Flag = True
35 End Sub
36 Function CheckFlags() As Boolean
37 Return proc1Flag and proc2Flag and proc3Flag and proc4Flag and proc5Flag and proc6Flag and proc8Flag
38 End Function
39
40 Sub Proc1()
41 proc1Flag = True
42 End Sub
43
44 Function Proc2() As Long
45 proc2Flag = True
46 End Function
47
48 Sub Proc3or4( a As Long )
49 proc3Flag = (a=100)
50 End Sub
51
52 Sub Proc3or4( a As String )
53 proc4Flag = (a="Proc4 calling")
54 End Sub
55
56 Sub Proc5( a As String )
57 proc5Flag = (a="Proc4 calling")
58 End Sub
59
60 Sub Proc6( a As String )
61 proc6Flag = (a="Proc4 calling")
62 End Sub
63
64 Static Function Proc7( str As String ) As String
65 Return "Proc7 result[" + str + "]"
66 End Function
67
68 Sub Proc8( a As String )
69 proc8Flag = False
70 End Sub
71End Class
72
73Sub TestMain()
74 Dim testObj As TestClass
75 Dim dg1 = New Callback1( AddressOf(testObj.Proc1) )
76 Dim dg2 = New Callback2( AddressOf(testObj.Proc2) )
77 Dim dg3 = New Callback3( AddressOf(testObj.Proc3or4) )
78 Dim dg4 = New Callback4( AddressOf(testObj.Proc3or4) )
79 dg4 += AddressOf(testObj.Proc5)
80 dg4 += AddressOf(testObj.Proc6)
81 dg4 += AddressOf(testObj.Proc8)
82 dg4 -= AddressOf(testObj.Proc8)
83
84 dg1()
85 dg2()
86 dg3( 100 )
87 dg4( "Proc4 calling" )
88
89 UnitTest( "Delegate1", testObj.CheckFlags() )
90
91 Dim dg7 = New Callback7( AddressOf(TestClass.Proc7) )
92 UnitTest( "Delegate2", dg7( "test value" ) = "Proc7 result[test value]" )
93
94End Sub
95
96End Namespace
97
98DelegateTest.TestMain()
99*/
Note: See TracBrowser for help on using the repository browser.