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); } }
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); }
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) }
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); }
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(); } } }