コード例 #1
0
        public void Verify_InternalName(Type fileSignature, string filename, string expected)
        {
            using var testStream = TestUtilities.GetResource($"TestRoms.{filename}");
            IFileSignature signature = (IFileSignature)Activator.CreateInstance(fileSignature);

            Assert.Equal(expected, signature.GetInternalName(testStream));
        }
コード例 #2
0
 public PersonsService(PersonContext context, IFileSignature fileSignatureService,
                       ProfileImageSetting profileImageSetting, SecureRootSetting secureRootSetting)
 {
     _context = context;
     _fileSignatureService = fileSignatureService;
     _profileImageSetting  = profileImageSetting;
     _filesPath            = secureRootSetting.Path;
 }
コード例 #3
0
        public int GetHashCode(IFileSignature obj)
        {
            int hashCode = 0x17000;

            if (obj.Name != null)
            {
                hashCode ^= obj.Name.GetHashCode();
            }

            return(hashCode);
        }
コード例 #4
0
        public void Verify_Test(Type fileSignature, string filename, Type exclusionFs = null)
        {
            using var testStream = TestUtilities.GetResource($"TestRoms.{filename}");
            IFileSignature signature = (IFileSignature)Activator.CreateInstance(fileSignature);

            Assert.True(signature.HeaderSignatureMatches(testStream));

            if (exclusionFs != null)
            {
                IFileSignature exclusion = (IFileSignature)Activator.CreateInstance(exclusionFs);
                Assert.False(exclusion.HeaderSignatureMatches(testStream));
            }
        }
コード例 #5
0
        public void VerifyStoneProvider_Test(Type fileSignature, string filename)
        {
            using var testStream = TestUtilities.GetResource($"TestRoms.{filename}");
            IFileSignature signature = (IFileSignature)Activator.CreateInstance(fileSignature);

            Assert.True(signature.HeaderSignatureMatches(testStream));

            IStoneProvider stone = new StoneProvider();

            testStream.Seek(0, SeekOrigin.Begin);
            string mimetype = stone.GetStoneMimetype(testStream);

            Assert.NotEqual(String.Empty, mimetype);

            var stoneSigs = stone.GetSignatures(mimetype);

            Assert.Contains(stoneSigs, s => s.HeaderSignatureMatches(testStream));
        }
コード例 #6
0
        public bool Equals(IFileSignature x, IFileSignature y)
        {
            if (x == y)
            {
                return(true);
            }

            if (x == null || y == null)
            {
                return(false);
            }

            if (x.Name != y.Name)
            {
                return(false);
            }

            return(true);
        }
コード例 #7
0
        private void WriteFile(ref int pos, IFileSignature file)
        {
            _blob.Write(ref pos, (byte)SignatureType.File);
            WriteString(ref pos, file.Name);

            _blob.Write(ref pos, (bool)file.ContainsMetadata);

            var hashValue = file.HashValue;

            if (hashValue != null)
            {
                _blob.Write7BitEncodedInt(ref pos, hashValue.Length);
                _blob.Write(ref pos, hashValue);
            }
            else
            {
                _blob.Write(ref pos, (byte)0);
            }
        }
コード例 #8
0
 public Validation(IFileSignature fileSignatureValidation)
 {
     _fileSignatureValidation = fileSignatureValidation;
 }
コード例 #9
0
 public FileReference(IFileSignature fileSig)
 {
     _name             = fileSig.Name;
     _containsMetadata = fileSig.ContainsMetadata;
     _hashValue        = fileSig.HashValue;
 }