public void DecryptFromResources(string inputName, int key, string sampleName, double accuracy, dynamic sup) { LettersSetSettings((TypeLettersSupport)sup); string expect = Properties.Resources.ResourceManager.GetString(inputName); string sample = Properties.Resources.ResourceManager.GetString(sampleName); CharacterFrequencyAnalyzer an = new CharacterFrequencyAnalyzer(sample); string dec = an.Decrypt(Encryption.Encrypt(expect, key)); int errors = 0; int all = 0; for (int i = 0; i < dec.Length || i < expect.Length; i++) { if (i < dec.Length || i < expect.Length) { if (LettersSupport.Contains(expect[i])) { all++; if (dec[i] != expect[i]) { errors++; } } } else { Console.Write($"{i}:{(i < dec.Length ? dec[i] : expect[i])}"); } } Console.WriteLine(); double accuracyCurrent = 1 - (double)errors / all; Console.WriteLine("accuracy: " + accuracyCurrent); Console.WriteLine("dec: " + dec); Assert.IsTrue(accuracyCurrent > accuracy); }
public void Decrypt(string expect, int key, string sample) { CharacterFrequencyAnalyzer an = new CharacterFrequencyAnalyzer(sample); Assert.AreEqual(expect, an.Decrypt(Encryption.Encrypt(expect, key))); }