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
RevLine 
[355]1/*
[340]2Namespace DelegateTest
3
4Delegate Sub Callback1()
5Delegate Function Callback2() As Long
6Delegate Sub Callback3( a As Long )
7Delegate Sub Callback4( a As String )
[342]8Delegate Function Callback7( str As String ) As String
[340]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
[352]18 proc8Flag As Boolean
[340]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
[352]34 proc8Flag = True
[340]35 End Sub
36 Function CheckFlags() As Boolean
[352]37 Return proc1Flag and proc2Flag and proc3Flag and proc4Flag and proc5Flag and proc6Flag and proc8Flag
[340]38 End Function
39
40 Sub Proc1()
41 proc1Flag = True
42 End Sub
43
[343]44 Function Proc2() As Long
[340]45 proc2Flag = True
[343]46 End Function
[340]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
[342]64 Static Function Proc7( str As String ) As String
65 Return "Proc7 result[" + str + "]"
[340]66 End Function
[352]67
68 Sub Proc8( a As String )
69 proc8Flag = False
70 End Sub
[340]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)
[352]81 dg4 += AddressOf(testObj.Proc8)
82 dg4 -= AddressOf(testObj.Proc8)
[340]83
84 dg1()
85 dg2()
86 dg3( 100 )
87 dg4( "Proc4 calling" )
88
89 UnitTest( "Delegate1", testObj.CheckFlags() )
[342]90
[340]91 Dim dg7 = New Callback7( AddressOf(TestClass.Proc7) )
[342]92 UnitTest( "Delegate2", dg7( "test value" ) = "Proc7 result[test value]" )
93
[340]94End Sub
95
96End Namespace
97
98DelegateTest.TestMain()
[355]99*/
Note: See TracBrowser for help on using the repository browser.