public void TestFileIdToStringFormat() { var fileId = FileId.FromFile(File1A); var hashArr = fileId.GetBytes(); var hashStr = fileId.ToString(); // sizes Assert.AreEqual(32, hashArr.Length); Assert.AreEqual(64, hashStr.Length); // format var regex = new Regex(@"[A-Fa-f0-9]+"); // hex values Assert.IsTrue(regex.IsMatch(hashStr)); // big endian var startStr = string.Format("{0}{1}", hashStr[0], hashStr[1]); var endArr = hashArr[31].ToString("X2"); Assert.AreEqual(endArr, startStr); var endStr = string.Format("{0}{1}", hashStr[62], hashStr[63]); var startArr = hashArr[0].ToString("X2"); Assert.AreEqual(startArr, endStr); }
public void TestBuildEqualHash() { // File1a and File1b have same attributes var fileId1 = FileId.FromFile(File1A); var fileId2 = FileId.FromFile(File1B); Assert.AreEqual(fileId1, fileId2); }
public void TestFileIdToStringEquality() { var hash1 = FileId.FromFile(File1A).ToString(); var hash2 = FileId.FromFile(File1B).ToString(); var hash3 = FileId.FromFile(File1C).ToString(); var hash4 = FileId.FromFile(File1D).ToString(); var hash5 = FileId.FromFile(File1E).ToString(); var hash6 = FileId.FromFile(File1F).ToString(); Assert.AreEqual(hash1, hash2); Assert.AreNotEqual(hash1, hash3); Assert.AreNotEqual(hash1, hash4); Assert.AreNotEqual(hash1, hash5); Assert.AreNotEqual(hash1, hash6); }
public void TestFileIdCaseInsensitive() { var fileId = FileId.FromFile(File1A); var hashStr = fileId.ToString(); var hashStr1 = hashStr.ToUpperInvariant(); var hashStr2 = hashStr.ToLowerInvariant(); var fileId1 = new FileId(hashStr1); var fileId2 = new FileId(hashStr2); Assert.AreEqual(fileId1, fileId); Assert.AreEqual(fileId2, fileId); Assert.AreEqual(fileId2, fileId1); }
public void TestBuildDifferentHash() { var fileId1 = FileId.FromFile(File1A); var fileId2 = FileId.FromFile(File1C); var fileId3 = FileId.FromFile(File1D); var fileId4 = FileId.FromFile(File1E); var fileId5 = FileId.FromFile(File1F); Assert.AreNotEqual(fileId1, fileId2); // diff data Assert.AreNotEqual(fileId1, fileId3); // diff creation time Assert.AreNotEqual(fileId1, fileId4); // diff modify time Assert.AreNotEqual(fileId1, fileId5); // diff file name Assert.AreNotEqual(fileId2, fileId3); Assert.AreNotEqual(fileId2, fileId4); Assert.AreNotEqual(fileId2, fileId5); Assert.AreNotEqual(fileId3, fileId4); Assert.AreNotEqual(fileId3, fileId5); Assert.AreNotEqual(fileId4, fileId5); }