public void Adler32Checksum_4() { if (ZLibInit.ZLibProvided) { byte[] sample = Encoding.UTF8.GetBytes("ABCDEF"); uint checksum = Adler32Checksum.Adler32(sample, 1, 3); Assert.IsTrue(checksum == 0x019300CA); // BCD } }
public void Adler32Checksum_3() { if (ZLibInit.ZLibProvided) { uint checksum = Adler32Checksum.Adler32(Encoding.UTF8.GetBytes("ABC")); Assert.IsTrue(checksum == 0x018D00C7); // ABC checksum = Adler32Checksum.Adler32(checksum, Encoding.UTF8.GetBytes("DEF")); Assert.IsTrue(checksum == 0x057E0196); // ABCDEF } }
public void Adler32Checksum_2() { if (ZLibInit.ZLibProvided) { Adler32Checksum adler = new Adler32Checksum(); adler.Append(Encoding.UTF8.GetBytes("ABC")); Assert.IsTrue(adler.Checksum == 0x018D00C7); // ABC adler.Append(Encoding.UTF8.GetBytes("DEF")); Assert.IsTrue(adler.Checksum == 0x057E0196); // ABCDEF } }
public void Adler32Checksum_5() { if (ZLibInit.ZLibProvided) { string filePath = Path.Combine(TestSetup.SampleDir, "ex3.jpg"); using (FileStream fs = new FileStream(filePath, FileMode.Open, FileAccess.Read, FileShare.Read)) { uint checksum = Adler32Checksum.Adler32(fs); Assert.IsTrue(checksum == 0x94B04C6F); } } }
public void CalculatesCorrectChecksum() { var data = new byte[] { 0, 255, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 0, 0 }; var checksum = Adler32Checksum.Calculate(data); Assert.Equal(268304895, checksum); }
public void Adler32Checksum_6() { if (ZLibInit.ZLibProvided) { byte[] sample1 = Encoding.UTF8.GetBytes("ABC"); byte[] sample2 = Encoding.UTF8.GetBytes("DEF"); using (MemoryStream ms1 = new MemoryStream(sample1)) using (MemoryStream ms2 = new MemoryStream(sample2)) { uint checksum = Adler32Checksum.Adler32(ms1); Assert.IsTrue(checksum == 0x018D00C7); // ABC checksum = Adler32Checksum.Adler32(checksum, ms2); Assert.IsTrue(checksum == 0x057E0196); // ABCDEF } } }
public void CalculatesCorrectChecksumWithLengthArgument() { var data = new byte[] { 0, 255, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 0, 0, 44, 12, 126, 200 }; var checksum = Adler32Checksum.Calculate(data, 14); Assert.Equal(268304895, checksum); }
public byte[] Encode(Stream input, DictionaryToken streamDictionary, int index) { const int headerLength = 2; const int checksumLength = 4; byte[] data; using (var temp = new MemoryStream()) { input.CopyTo(temp); data = temp.ToArray(); } using (var compressStream = new MemoryStream()) using (var compressor = new DeflateStream(compressStream, CompressionLevel.Fastest)) { compressor.Write(data, 0, data.Length); compressor.Close(); var compressed = compressStream.ToArray(); var result = new byte[headerLength + compressed.Length + checksumLength]; // Write the ZLib header. result[0] = Deflate32KbWindow; result[1] = ChecksumBits; // Write the compressed data. Array.Copy(compressed, 0, result, headerLength, compressed.Length); // Write Checksum of raw data. var checksum = Adler32Checksum.Calculate(data); var offset = headerLength + compressed.Length; result[offset++] = (byte)(checksum >> 24); result[offset++] = (byte)(checksum >> 16); result[offset++] = (byte)(checksum >> 8); result[offset] = (byte)(checksum >> 0); return(result); } }
public void Adler32Checksum_1() { void Template(string path, uint checksum) { string filePath = Path.Combine(TestSetup.SampleDir, path); using (FileStream fs = new FileStream(filePath, FileMode.Open, FileAccess.Read, FileShare.Read)) { Adler32Checksum adler = new Adler32Checksum(); adler.Append(fs); Assert.IsTrue(adler.Checksum == checksum); } } if (!ZLibInit.ZLibProvided) { return; } Template("ex1.jpg", 0xD77C7044); Template("ex2.jpg", 0x9B97EDAD); Template("ex3.jpg", 0x94B04C6F); }