public void ObjectEqualsTest() { foreach (long highBitsX in new long[] { 0L, 0x12345678L, 0x32L }) { foreach (long lowBitsX in new long[] { 0L, 0x12345678L, 0x32L }) { object targetX = new MD5Checksum(GetByteArray(lowBitsX, highBitsX)); foreach (long highBitsY in new long[] { 0L, 0x12345678L, 0x32L }) { foreach (long lowBitsY in new long[] { 0L, 0x12345678L, 0x32L }) { object targetY = new MD5Checksum(GetByteArray(lowBitsY, highBitsY)); if (highBitsX == highBitsY && lowBitsX == lowBitsY) { Assert.True(targetX.Equals(targetY)); Assert.True(targetY.Equals(targetX)); Assert.Equal(targetX, targetY); } else { Assert.False(targetX.Equals(targetY)); Assert.False(targetY.Equals(targetX)); Assert.NotEqual(targetX, targetY); } } } } } }
public IFileStats ValidateChecksum(long length, MD5Checksum checksum, DateTime lastCalculated) { lastCalculated = FileStats.NormalizeDateTime(lastCalculated); if (length == _md5.Length && checksum.Equals(_md5.Checksum)) { return((lastCalculated.Equals(_lastCompared)) ? (IFileCompareStats)(new FileCompareStats(_md5.Length, lastCalculated, checksum, _groupID)) : new FileCompareStatsVerifiedMD5(this, lastCalculated)); } return(new FileMD5Stats(_md5.Length, lastCalculated, _md5.Checksum)); }
IFileMD5Stats IFileStats.WithMD5(DateTime calculated, MD5Checksum checksum) { calculated = FileStats.NormalizeDateTime(calculated); if (_md5.LastCalculatedUTC.Equals(calculated)) { if (checksum.Equals(_md5.Checksum)) { return(this); } return(new FileCompareStatsVerifiedMD5(_md5.Length, calculated, checksum, _groupID, _lastCompared)); } if (_lastCompared.Equals(calculated)) { return(new FileCompareStatsVerifiedLength(_md5.Length, _md5.LastCalculatedUTC, checksum, _groupID, calculated)); } return(new FileCompareStatusReverified(_md5.Length, _md5.LastCalculatedUTC, checksum, calculated, _groupID, _lastCompared)); }
public bool Equals(FileMD5Stats other) => _checksum.Equals(other._checksum) && _fileStats.Equals(other._fileStats);
public bool Equals(FileComparisonInfo other) => _comparisonGroupID.Equals(other._comparisonGroupID) && _checksum.Equals(other._checksum);
public bool Equals(FileMD5StatsVerifiedLength other) => _checksum.Equals(other._checksum) && _lastCalculated.Equals(other._lastCalculated) && _fileStats.Equals(other._fileStats);