Index: vhUnitTest/Tools/Mock/TestMock.cls.xml =================================================================== diff -u -r1444 -r1805 --- vhUnitTest/Tools/Mock/TestMock.cls.xml (.../TestMock.cls.xml) (revision 1444) +++ vhUnitTest/Tools/Mock/TestMock.cls.xml (.../TestMock.cls.xml) (revision 1805) @@ -18,150 +18,150 @@ - - %String ", E.Name ) - } + Do ..MockVoorbeeld.IndienMethodCall("DataTypeParameterDataTypeReturn", "A" ).DanReturn( "1" ) + Do ..MockVoorbeeld.IndienMethodCall("DataTypeParameterDataTypeReturn", "B" ).DanReturn( "2" ) + + // Test ok indien juiste param + Do $$$AssertEquals( "1", ..MockVoorbeeld.DataTypeParameterDataTypeReturn("A") ) + Do $$$AssertEquals( "2", ..MockVoorbeeld.DataTypeParameterDataTypeReturn("B") ) + + // Test nogmaals ok indien juiste param + Do $$$AssertEquals( "1", ..MockVoorbeeld.DataTypeParameterDataTypeReturn("A") ) + Do $$$AssertEquals( "2", ..MockVoorbeeld.DataTypeParameterDataTypeReturn("B") ) + + // Test exc indien verkeerde param + try { + Do ..MockVoorbeeld.DataTypeParameterDataTypeReturn("C") + Do $$$AssertFalse(1, "Exception verwacht") + } catch E { + #dim Exception As TECH.Exceptions.Exception = ##class(TECH.ExceptionHandler).Catch() + Do $$$AssertContains( Exception.ToString(), "is niet voorzien door 'vhUnitTest.Tools.Mock.MockVoorbeeld'" ) + } + + // Test exc indien verkeerde aantal params + try { + Do ..MockVoorbeeld.DataTypeParameterDataTypeReturn() + Do $$$AssertFalse(1, "Exception verwacht") + } catch E { + Do $$$AssertEquals( "", E.Name ) + } ]]> ", E.Name ) - } + Set ObjectA = ##class(%ListOfObjects).%New() + Set ObjectB = ##class(%ListOfObjects).%New() + + Do ..MockVoorbeeld.IndienMethodCall("ObjectParameterDataTypeReturn", ObjectA ).DanReturn( "1" ) + Do ..MockVoorbeeld.IndienMethodCall("ObjectParameterDataTypeReturn", ObjectB ).DanReturn( "2" ) + + // Test ok indien juiste param + Do $$$AssertEquals( "1", ..MockVoorbeeld.ObjectParameterDataTypeReturn( ObjectA ) ) + Do $$$AssertEquals( "2", ..MockVoorbeeld.ObjectParameterDataTypeReturn( ObjectB ) ) + + // Test nogmaals ok indien juiste param + Do $$$AssertEquals( "1", ..MockVoorbeeld.ObjectParameterDataTypeReturn( ObjectA ) ) + Do $$$AssertEquals( "2", ..MockVoorbeeld.ObjectParameterDataTypeReturn( ObjectB ) ) + + // Test exc indien verkeerde param + try { + Do ..MockVoorbeeld.DataTypeParameterDataTypeReturn("C") + Do $$$AssertFalse(1, "Exception verwacht") + } catch E { + #dim Exception As TECH.Exceptions.Exception = ##class(TECH.ExceptionHandler).Catch() + Do $$$AssertContains( Exception.ToString(), "is niet voorzien door 'vhUnitTest.Tools.Mock.MockVoorbeeld'" ) + } + + // Test exc indien verkeerde aantal params + try { + Do ..MockVoorbeeld.DataTypeParameterDataTypeReturn() + Do $$$AssertFalse(1, "Exception verwacht") + } catch E { + Do $$$AssertEquals( "", E.Name ) + } ]]> ", E.Name ) - } + Set ObjectA = ##class(%ListOfObjects).%New() + Set ObjectB = ##class(%ListOfObjects).%New() + + Do ..MockVoorbeeld.IndienMethodCall("TweeParametersDataTypeReturn", ObjectA, 1 ).DanReturn( "1" ) + Do ..MockVoorbeeld.IndienMethodCall("TweeParametersDataTypeReturn", 2, ObjectB ).DanReturn( "2" ) + + // Test ok indien juiste param + Do $$$AssertEquals( "1", ..MockVoorbeeld.TweeParametersDataTypeReturn( ObjectA, 1 ) ) + Do $$$AssertEquals( "2", ..MockVoorbeeld.TweeParametersDataTypeReturn( 2, ObjectB ) ) + + // Test nogmaals ok indien juiste param + Do $$$AssertEquals( "1", ..MockVoorbeeld.TweeParametersDataTypeReturn( ObjectA, 1 ) ) + Do $$$AssertEquals( "2", ..MockVoorbeeld.TweeParametersDataTypeReturn( 2, ObjectB ) ) + + // Test exc indien verkeerde param + try { + Do ..MockVoorbeeld.TweeParametersDataTypeReturn( ObjectA, ObjectB ) + Do $$$AssertFalse(1, "Exception verwacht") + } catch E { + #dim Exception As TECH.Exceptions.Exception = ##class(TECH.ExceptionHandler).Catch() + Do $$$AssertContains( Exception.ToString(), "is niet voorzien door 'vhUnitTest.Tools.Mock.MockVoorbeeld'" ) + } + + try { + Do ..MockVoorbeeld.TweeParametersDataTypeReturn( 2, 1 ) + Do $$$AssertFalse(1, "Exception verwacht") + } catch E { + Set Exception = ##class(TECH.ExceptionHandler).Catch() + Do $$$AssertContains( Exception.ToString(), "is niet voorzien door 'vhUnitTest.Tools.Mock.MockVoorbeeld'" ) + } + + // Test exc indien verkeerde aantal params + try { + Do ..MockVoorbeeld.TweeParametersDataTypeReturn( 2 ) + Do $$$AssertFalse(1, "Exception verwacht") + } catch E { + Do $$$AssertEquals( "", E.Name ) + } ]]> Index: Tools/Mock/MethodCallError.cls.xml =================================================================== diff -u -r1759 -r1805 --- Tools/Mock/MethodCallError.cls.xml (.../MethodCallError.cls.xml) (revision 1759) +++ Tools/Mock/MethodCallError.cls.xml (.../MethodCallError.cls.xml) (revision 1805) @@ -9,14 +9,14 @@ -MisMatches:%String="" +MockClass:Tools.Mock.MockClassBase,MisMatches:%String="" 1 1 %Status 1 @@ -25,7 +25,7 @@ Index: Tools/Mock/MockClassBase.cls.xml =================================================================== diff -u -r1759 -r1805 --- Tools/Mock/MockClassBase.cls.xml (.../MockClassBase.cls.xml) (revision 1759) +++ Tools/Mock/MockClassBase.cls.xml (.../MockClassBase.cls.xml) (revision 1805) @@ -26,7 +26,7 @@ MethodNaam:%String,VerwachteParameterWaarden...:%String Tools.Mock.MethodCallStub Index: Tools/Mock/MethodCallStub.cls.xml =================================================================== diff -u -r1759 -r1805 --- Tools/Mock/MethodCallStub.cls.xml (.../MethodCallStub.cls.xml) (revision 1759) +++ Tools/Mock/MethodCallStub.cls.xml (.../MethodCallStub.cls.xml) (revision 1805) @@ -8,6 +8,11 @@ 1 + +Tools.Mock.MockClassBase +1 + + %String 1 @@ -51,12 +56,14 @@ +MockClass:Tools.Mock.MockClassBase 1 1 %Status 1