Example #1
0
        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);
        }
Example #2
0
        public void TestBuildEqualHash()
        {
            // File1a and File1b have same attributes
            var fileId1 = FileId.FromFile(File1A);
            var fileId2 = FileId.FromFile(File1B);

            Assert.AreEqual(fileId1, fileId2);
        }
Example #3
0
        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);
        }
Example #4
0
        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);
        }
Example #5
0
        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);
        }