24: def test_make_apply_delta
25: source = File.read(@source_file)
26: target = File.read(@target_file)
27: result = Zlib::GzipWriter.open(@result_file)
28:
29: sa = SuffixArray.new(source)
30: gen = DeltaGenerator.new(sa, source)
31: emit = FileEmitter.new(result)
32: gen.generate(target, emit)
33:
34:
35: input = Zlib::GzipReader.open(@result_file)
36: out = File.open(@apply_file, "w")
37:
38: apply = ApplyEmitter.new(source, out)
39: reader = DeltaReader.new
40: reader.apply(input, apply)
41: input.close
42:
43: tgt_md5 = Digest::MD5.hexdigest(target)
44: ap_md5 = Digest::MD5.hexdigest(File.read(@apply_file))
45:
46: assert_equal ap_md5, tgt_md5, "Applied delta digest #{ap_md5} != target digest #{tgt_md5}"
47: end