Skip to content

Commit 61ecc9c

Browse files
committed
Added unit tests for TFormat_HEX.Decode and TFormat_UU.Decode which test the exception raised when feed with wrong data.
1 parent 6fadfa7 commit 61ecc9c

File tree

1 file changed

+26
-0
lines changed

1 file changed

+26
-0
lines changed

Unit Tests/Tests/TestDECFormat.pas

Lines changed: 26 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -101,6 +101,8 @@ TestTFormat_HEX = class(TFormatTestsBase)
101101
public
102102
procedure SetUp; override;
103103
procedure TearDown; override;
104+
private
105+
procedure DoTestDecodeException;
104106
published
105107
procedure TestEncodeBytes;
106108
procedure TestEncodeRawByteString;
@@ -113,6 +115,7 @@ TestTFormat_HEX = class(TFormatTestsBase)
113115
procedure TestIsValidRawByteString;
114116
procedure TestClassByName;
115117
procedure TestIdentity;
118+
procedure TestDecodeException;
116119
end;
117120

118121
// Test methods for class TFormat_HEXL
@@ -587,6 +590,8 @@ TestTFormat_UU = class(TFormatTestsBase)
587590
public
588591
procedure SetUp; override;
589592
procedure TearDown; override;
593+
private
594+
procedure DoTestDecodeException;
590595
published
591596
procedure TestEncodeBytes;
592597
procedure TestEncodeRawByteString;
@@ -599,6 +604,7 @@ TestTFormat_UU = class(TFormatTestsBase)
599604
procedure TestIsValidRawByteString;
600605
procedure TestClassByName;
601606
procedure TestIdentity;
607+
procedure TestDecodeException;
602608
end;
603609

604610
// Test methods for class TFormat_XX
@@ -843,6 +849,11 @@ TestTFormat_BigEndian64 = class(TFormatTestsBase)
843849

844850
implementation
845851

852+
procedure TestTFormat_HEX.DoTestDecodeException;
853+
begin
854+
FFormat_HEX.Decode('ä');
855+
end;
856+
846857
procedure TestTFormat_HEX.SetUp;
847858
begin
848859
FFormat_HEX := TFormat_HEX.Create;
@@ -867,6 +878,11 @@ procedure TestTFormat_HEX.TestDecodeBytes;
867878
DoTestEncodeDecode(FFormat_HEX.Decode, cTestDataDecode);
868879
end;
869880

881+
procedure TestTFormat_HEX.TestDecodeException;
882+
begin
883+
CheckException(DoTestDecodeException, EDECFormatException);
884+
end;
885+
870886
procedure TestTFormat_HEX.TestDecodeRawByteString;
871887
begin
872888
DoTestEncodeDecodeRawByteString(FFormat_HEX.Decode, cTestDataDecode);
@@ -1484,6 +1500,11 @@ procedure TestTFormat_Radix64.TestIsValidTypeless;
14841500
'CRC not present not detected on ' + 'VGVzdAoJqlU=' + #13 + #10 +'==XtiM' + ' ');
14851501
end;
14861502

1503+
procedure TestTFormat_UU.DoTestDecodeException;
1504+
begin
1505+
FFormat_UU.Decode('ä');
1506+
end;
1507+
14871508
procedure TestTFormat_UU.SetUp;
14881509
begin
14891510
FFormat_UU := TFormat_UU.Create;
@@ -1508,6 +1529,11 @@ procedure TestTFormat_UU.TestDecodeBytes;
15081529
DoTestEncodeDecode(FFormat_UU.Decode, cTestDataDecode);
15091530
end;
15101531

1532+
procedure TestTFormat_UU.TestDecodeException;
1533+
begin
1534+
CheckException(DoTestDecodeException, EDECFormatException);
1535+
end;
1536+
15111537
procedure TestTFormat_UU.TestDecodeRawByteString;
15121538
begin
15131539
DoTestEncodeDecodeRawByteString(FFormat_UU.Decode, cTestDataDecode);

0 commit comments

Comments
 (0)