Beispiel #1
0
        public void TestLoadSignatureFromFile()
        {
            Svc2004Loader loader  = new Svc2004Loader(@"Databases\Test.zip", true);
            var           signers = new List <Signer>(loader.EnumerateSigners());

            Assert.AreEqual(1, signers.Count);
            var signer = signers[0];

            Assert.AreEqual("01", signer.ID);

            Assert.AreEqual(2, signer.Signatures.Count);
            Assert.AreEqual("01", signer.Signatures[0].ID);
            Assert.AreEqual("21", signer.Signatures[1].ID);


            Assert.AreEqual(signer, signer.Signatures[0].Signer, "The loaded signer object and the signer instance referenced by the signer are not the same");

            Assert.AreEqual(Origin.Genuine, signer.Signatures[0].Origin);
            Assert.AreEqual(Origin.Forged, signer.Signatures[1].Origin);

            var signature = signer.Signatures[0];

            foreach (var expectedDescriptor in Svc2004.All)
            {
                Assert.IsTrue(signature.HasFeature(expectedDescriptor), $"{expectedDescriptor.Name} was not found in signature");
            }

            foreach (var descriptor in signature.GetFeatureDescriptors())
            {
                // var featureValues = (List<int>)signature[descriptor];
                // Assert.AreEqual(84, featureValues.Count);
            }
        }
Beispiel #2
0
        public void TestDeserialize()
        {
            var expectedSvcLoader  = new Svc2004Loader(@"Databases\Online\SVC2004\Task2.zip".GetPath(), true);
            var svcLoaderJson      = SerializationHelper.JsonSerialize(expectedSvcLoader);
            var deserializedLoader = SerializationHelper.Deserialize <Svc2004Loader>(svcLoaderJson);

            JsonAssert.AreEqual(expectedSvcLoader, deserializedLoader);
        }
Beispiel #3
0
        public void TestParseSignature()
        {
            Svc2004Loader loader  = new Svc2004Loader(@"Databases\Test.zip", true);
            var           signers = new List <Signer>(loader.EnumerateSigners());

            Signature signature = signers[0].Signatures[0];

            //private static void ParseSignature(Signature signature, string[] linesArray, bool standardFeatures)
        }
Beispiel #4
0
        public void TestSerialization()
        {
            var svc2004Loader = new Svc2004Loader(@"Databases\Online\SVC2004\Task2.zip".GetPath(), true);
            var json          = SerializationHelper.JsonSerialize(svc2004Loader);
            var expectedJson  = @"{
              ""DatabasePath"": ""Databases\\Online\\SVC2004\\Task2.zip"",
              ""StandardFeatures"": true
            }";

            JsonAssert.AreEqual(expectedJson, json);
        }
Beispiel #5
0
        private void LoadSignatures()
        {
            Svc2004Loader loader = new Svc2004Loader(@"Databases\Online\SVC2004\Task2.zip", true);

            Signers = new List <Signer>(loader.EnumerateSigners());

            foreach (var signer in Signers)
            {
                for (int i = 0; i < signer.Signatures.Count; i++)
                {
                    FeatureExtractor featureExtractor = new FeatureExtractor(signer.Signatures[i]);
                    signer.Signatures[i] = featureExtractor.GetAllDerivedSVC2004Features();
                }
            }
        }