@@ -16,8 +16,8 @@ internal class TestRunnerTests
1616 public void TestBuilderTestsSetup ( )
1717 {
1818 _accessTestHelper = AccessClientTestHelper . NewAccessTestHelper ( ) ;
19- var applictionHelper = new AccessApplicationHelper ( _accessTestHelper . Application ) ;
20- _testBuilder = new Interop . TestBuilder ( applictionHelper ) ;
19+ var applicationHelper = new AccessApplicationHelper ( _accessTestHelper . Application ) ;
20+ _testBuilder = new Interop . TestBuilder ( applicationHelper ) ;
2121 }
2222
2323 [ TearDown ]
@@ -234,6 +234,51 @@ public Function TestMethod1(ByRef x() as Long) as Long
234234 TestMethod1 = x(0)
235235End Function
236236
237+ public Function GetCheckValue() as long
238+ GetCheckValue = m_Check
239+ End Function
240+ " ) ;
241+ var fixtureName = "clsAccUnitTestClass" ;
242+ var fixture = _testBuilder . CreateTest ( fixtureName ) ;
243+ Assert . That ( fixture , Is . Not . Null ) ;
244+
245+ var memberName = "TestMethod1" ;
246+ var fixtureMember = new TestFixtureMember ( memberName ) ;
247+
248+ var testClassReader = new TestClassReader ( _accessTestHelper . ActiveVBProject ) ;
249+ fixtureMember . TestClassMemberInfo = testClassReader . GetTestClassMemberInfo ( fixtureName , memberName ) ;
250+
251+ var rowGenerator = new TestRowGenerator
252+ {
253+ ActiveVBProject = _accessTestHelper . ActiveVBProject ,
254+ TestName = fixtureName
255+ } ;
256+ var testRows = rowGenerator . GetTestRows ( memberName ) ;
257+
258+ var invocHelper = new InvocationHelper ( fixture ) ;
259+ var returnValue = invocHelper . InvokeMethod ( "TestMethod1" , testRows [ 0 ] . Args . ToArray ( ) ) ;
260+ Assert . That ( returnValue , Is . EqualTo ( 1 ) ) ;
261+
262+ var result = new TestResultCollector ( ) ;
263+ var testRunner = new Interop . TestRunner ( _accessTestHelper . ActiveVBProject ) ;
264+ testRunner . Run ( fixture , "TestMethod1" , result ) ;
265+
266+ var valueAfterTestRun = invocHelper . InvokeMethod ( "GetCheckValue" ) ;
267+ Assert . That ( valueAfterTestRun , Is . EqualTo ( 2 ) ) ;
268+ }
269+
270+ [ Test ]
271+ public void RunRowTest_VbaArrayParam ( )
272+ {
273+ AccessClientTestHelper . CreateTestCodeModule ( _accessTestHelper , "clsAccUnitTestClass" , vbext_ComponentType . vbext_ct_ClassModule , @"
274+ private m_Check as Long
275+
276+ 'AccUnit:Row(Array(1, 2))
277+ public Function TestMethod1(ByRef x() as Variant) as Long
278+ m_Check = x(1)
279+ TestMethod1 = x(0)
280+ End Function
281+
237282public Function GetCheckValue() as long
238283 GetCheckValue = m_Check
239284End Function
0 commit comments