私は、C# で書かれた Excel (xls - 97-2003) ファイル ジェネレーターを作成しました。これは基本的にNPOIのラッパーです。
ジェネレーターのインターフェースは次のとおりです。
public interface IExcelGenerator
{
/// <summary>
/// Add or replace a cell in the file.
/// </summary>
/// <param name="cell"></param>
void AddCell(Cell cell);
/// <summary>
/// Create the file in memory.
/// </summary>
/// <param name="fileName"></param>
/// <returns></returns>
IFile CreateFile(string fileName);
}
ジェネレーターの最終的な結果は、生のファイルを表す (オブジェクトbyte[]
からの) です。IFile
私Cell
のクラスはすでに単体テスト済みです。ここで、ジェネレーター自体を単体テストしたいと思います。セルの内容と、セルに適用されたフォーマットが正しいことを主張する必要があります。
私が見る唯一の方法は、メモリ内にファイルを生成し (a byte[]
)、それをディスク上で読み取ったファイルと比較することです。しかし、Excel でファイルを開いて保存するという単純なアクションは、内部で何も変更されていない場合でも、ファイルに多くの重量 (6K から 26K へ) を追加します。したがって、セルの内容が正しい場合でも、2 つの配列が同じになることはほとんどありません。
両方のファイルのすべてのセルの値と形式が同じであると断言するにはどうすればよいですか?