Hallo,
ich versuche gerade ein paar
Unit Test Fehler in der
DEC zu beheben.
Nach Korrektur eines Fehlers in den Testdaten bin ich jetzt über ein anderes
mich verwirrendes Problem gestoßen.
Es gibt im
Unit Test eine Klasse TestTHash_Keccak_Base, von der erben alle
Keccak Hash Testklassen. Die TestTHash_Keccak_Base wiederrum erbt von
TestTHash_SHA3_Base, die wiederum von noch einer anderen erbt, was hier aber
keine Rolle spielt.
In der TestTHash_SHA3_Base gibt es eine strict protected Methode LoadTestDataFile.
In der Methode wird eine Methode AddLastByteForKeccakTest aufgerufen. Diese ist
als Virtual deklariert. Darf also überschrieben werden und liefert in der Klasse
TestTHash_SHA3_Base nur das wieder zurück, was man als Parameter rein gesteckt hat.
In der TestTHash_Keccak_Base soll die aber mit dem übergebenen Parameter einiges
anstellen und dementsprechend käme auch was anderes zurück. In dieser Klasse ist
die Methode als override gekennzeichnet.
Nur: führe ich das aus, lande ich eindeutig in der Implementierung aus der Klasse
TestTHash_SHA3_Base statt der aus TestTHash_Keccak_Base .
Hat irgendwer eine Idee warum?
Hier der Code:
https://github.com/MHumm/DelphiEncry...ECHashSHA3.pas
Grüße
TurboMagic