@@ -34,7 +34,8 @@ TestTArrayUtils = class(TTestCase)
3434 end ;
3535
3636 TestArraysCatSnippets = class (TTestCase)
37-
37+ published
38+ procedure TestByteArraysEqual ;
3839 end ;
3940
4041implementation
@@ -198,6 +199,40 @@ procedure TestTArrayUtils.TestSameStart;
198199 );
199200end ;
200201
202+ { TestArraysCatSnippets }
203+
204+ procedure TestArraysCatSnippets.TestByteArraysEqual ;
205+ var
206+ A0L, A0R: TBytes;
207+ A1L, A1Req, A1Rneq: TBytes;
208+ ANL, ANReq, ANRneq1, ANRneq2, ANRneq3, ANRneq4: TBytes;
209+ AMR: TBytes;
210+ begin
211+ SetLength(A0L, 0 );
212+ SetLength(A0R, 0 );
213+ A1L := TBytes.Create(42 );
214+ A1Req := TBytes.Create(42 );
215+ A1Rneq := TBytes.Create(56 );
216+ ANL := TBytes.Create(27 ,98 ,128 ,46 ,35 ,0 ,1 );
217+ ANReq := TBytes.Create(27 ,98 ,128 ,46 ,35 ,0 ,1 );
218+ ANRneq1 := TBytes.Create(27 ,98 ,128 ,46 ,35 ,0 ,7 );
219+ ANRneq2 := TBytes.Create(26 ,98 ,128 ,46 ,35 ,0 ,1 );
220+ ANRneq3 := TBytes.Create(27 ,98 ,67 ,46 ,35 ,0 ,1 );
221+ ANRneq4 := TBytes.Create(27 ,17 ,67 ,46 ,35 ,12 ,1 );
222+ AMR := TBytes.Create(27 ,98 ,128 ,35 ,0 ,1 );
223+
224+ CheckTrue(ByteArraysEqual(A0L, A0R), ' #1' );
225+ CheckTrue(ByteArraysEqual(A1L, A1Req), ' #2' );
226+ CheckFalse(ByteArraysEqual(A1L, A1Rneq), ' #3' );
227+ CheckTrue(ByteArraysEqual(ANL, ANReq), ' #4' );
228+ CheckFalse(ByteArraysEqual(A1L, ANRneq1), ' #5' );
229+ CheckFalse(ByteArraysEqual(A1L, ANRneq2), ' #6' );
230+ CheckFalse(ByteArraysEqual(A1L, ANRneq3), ' #7' );
231+ CheckFalse(ByteArraysEqual(A1L, ANRneq4), ' #8' );
232+ CheckFalse(ByteArraysEqual(A1L, AMR), ' #9' );
233+ CheckFalse(ByteArraysEqual(A0L, A1L), ' #10' );
234+ end ;
235+
201236initialization
202237
203238IntegerCompareFn := function (const Left, Right: Integer): Boolean
0 commit comments