public void testWriteIndex() { _writer.setIndexVersion(2); WriteVerifyPack4(false); // Validate that IndexPack came up with the right CRC32 value. PackIndex idx1 = PackIndex.Open(_indexFile); Assert.IsTrue(idx1 is PackIndexV2); Assert.AreEqual(0x4743F1E4L, idx1.FindCRC32(ObjectId.FromString("82c6b885ff600be425b4ea96dee75dca255b69e7"))); // Validate that an index written by PackWriter is the same. FileInfo idx2File = new FileInfo(_indexFile.FullName + ".2"); using (var @is = new FileStream(idx2File.FullName, System.IO.FileMode.CreateNew)) { _writer.writeIndex(@is); } PackIndex idx2 = PackIndex.Open(idx2File); #pragma warning disable 0612 Assert.IsInstanceOfType(typeof(PackIndexV2), idx2); // [henon] IsInstanceOfType is obsolete #pragma warning restore 0612 Assert.AreEqual(idx1.ObjectCount, idx2.ObjectCount); Assert.AreEqual(idx1.Offset64Count, idx2.Offset64Count); for (int i = 0; i < idx1.ObjectCount; i++) { ObjectId id = idx1.GetObjectId(i); Assert.AreEqual(id, idx2.GetObjectId(i)); Assert.AreEqual(idx1.FindOffset(id), idx2.FindOffset(id)); Assert.AreEqual(idx1.FindCRC32(id), idx2.FindCRC32(id)); } }