Registriert seit: 20. Mai 2010
1.444 Beiträge
Delphi 11 Alexandria
|
AW: Eure besten Quellcode Kommentare...
11. Jul 2017, 13:51
Nach dem "-->"
Code:
procedure TIsoPositionCmdTest.Test_InitData_CharacteristicID();
begin
m_ReferenceSystemInformationServiceMock.SetFunctionResult<referenceSystemCaseET>('DetermineReferenceSystemCase',
rsc11EC);
m_ReferenceSystemInformationServiceMock.SetFunctionResult<TOrientationSet>
('AvailableToleranceZoneOrientationKinds', []);
m_ReferenceSystemInformationServiceMock.SetFunctionResult<TSourceElementsKindSet>
('AvailableToleranceZoneOrientationSources', []);
{ Puh: Mit dieser Zeile bringt man Wissen um die Implementiereung in den Test. Auch wenn von der Implementierung,
von welcher hier die Rede ist, am Besten niemand etwas wüsste ;-).
Der Test hier will eigentlich nur herausfinden, ob das richtige Element aus den beiden Elementfenstern für das
zu tolerierende Element herangezogen wird. Diese Logik ist allerdings im InitData gut versteckt und eingebettet,
so dass auch der Test dazu InitData aufrufen muss.
--> InitData ist nun aber einer der schlimmsten Orte auf Erden. Das Ungemach, welches einem dort begegnen kann,
ist zu düster und umfangreich um es hier detailliert aufzuzeigen.
InitData startet auch die Berechnung. Man versucht es zwar über ValidForCalculation zu verhindern, aber auch diese
Methode ist unzureichend implementiert. Man geht dann aber wenigstens davon aus, dass dann das Merkmal in seinem
Calculate schon jammert wenn was nicht passt. Würde es auch tun. Allerdings bedient sich das Positionsmerkmal dazu
eines Services und der Success jenes Calculate ist im SetUpMocks mit true intialisiert. Darf halt nicht sein und
deswegen hier das umstellen auf false.}
m_ReferenceSystemGeneratorServiceMock.SetFunctionResult<IReferenceSystemCalculationResult>('Calculate',
CreateReferenceSystemCalculationResult(false, identityMat4C, identityMat4C, '', sraUndefinedEC));
Self.InitStatusDatabaseWithIdsAndDelegate('Kr1', 'Zyl1');
CheckInitDataCharacteristicID();
end;
|
|
Zitat
|