|
@@ -27,7 +27,12 @@ const
|
|
|
var
|
|
|
WavReader: TWavReader;
|
|
|
InfoFile: TextFile;
|
|
|
- ExpectedSampleRate, ExpectedChannels, ExpectedBitsPerSample : Integer;
|
|
|
+ RawDataFile: File;
|
|
|
+ ExpectedSampleRate, ExpectedChannels, ExpectedBitsPerSample: Integer;
|
|
|
+ ExpectedData: array of Byte;
|
|
|
+ ActualData: array of Byte;
|
|
|
+ ActualDataLen: Integer;
|
|
|
+ SaveFileMode: Byte;
|
|
|
begin
|
|
|
AssignFile(InfoFile, CorrectFileDir + FileName + '.info.txt');
|
|
|
Reset(InfoFile);
|
|
@@ -37,6 +42,21 @@ begin
|
|
|
CloseFile(InfoFile);
|
|
|
end;
|
|
|
|
|
|
+ SaveFileMode := FileMode;
|
|
|
+ try
|
|
|
+ FileMode := 0;
|
|
|
+ AssignFile(RawDataFile, CorrectFileDir + FileName + '.raw');
|
|
|
+ Reset(RawDataFile, 1);
|
|
|
+ try
|
|
|
+ SetLength(ExpectedData, FileSize(RawDataFile));
|
|
|
+ BlockRead(RawDataFile, ExpectedData[0], Length(ExpectedData));
|
|
|
+ finally
|
|
|
+ CloseFile(RawDataFile);
|
|
|
+ end;
|
|
|
+ finally
|
|
|
+ FileMode := SaveFileMode;
|
|
|
+ end;
|
|
|
+
|
|
|
WavReader := TWavReader.Create;
|
|
|
try
|
|
|
if not WavReader.LoadFromFile(CorrectFileDir + FileName) then
|
|
@@ -44,6 +64,10 @@ begin
|
|
|
AssertEquals('Incorrect sample rate', ExpectedSampleRate, WavReader.fmt.SampleRate);
|
|
|
AssertEquals('Incorrect number of channels', ExpectedChannels, WavReader.fmt.Channels);
|
|
|
AssertEquals('Incorrect number of bits per sample', ExpectedBitsPerSample, WavReader.fmt.BitsPerSample);
|
|
|
+ SetLength(ActualData, Length(ExpectedData));
|
|
|
+ ActualDataLen := WavReader.ReadBuf(ActualData[0], Length(ActualData));
|
|
|
+ AssertEquals('Data length', Length(ExpectedData), ActualDataLen);
|
|
|
+ AssertTrue('Data differs', CompareMem(@ExpectedData[0], @ActualData[0], ActualDataLen));
|
|
|
finally
|
|
|
FreeAndNil(WavReader);
|
|
|
end;
|