diff --git a/testMain.hpp b/testMain.hpp index c87cda8..5e8dc95 100644 --- a/testMain.hpp +++ b/testMain.hpp @@ -340,6 +340,29 @@ bool playfairTest(std::string& errorString){ passed = false; } + //Test from wikipedia + keyword = "Playfair Example"; + inputString = "Hide the gold in the tree stum"; + outputString = "BMODZBXDNABEKUDMUIXMMOUVIM"; + //Setup the cipher + cipherString = cipher.encode(keyword, inputString); + //If the cipher didn't spit out the correct string throw an error + if(cipherString != outputString){ + errorString += testingError(ENCODE, inputString, outputString, cipherString); + passed = false; + } + //This removes the spaces and turns everything capital so the reverse will work correctly + inputString = cipher.getInputString(); + + //Do the same thing in reverse + cipher.reset(); + cipherString = cipher.decode(keyword, outputString); + //If the cipher didn't spit out the correct string throw an error + if(cipherString != inputString){ + errorString += testingError(DECODE, outputString, inputString, cipherString); + passed = false; + } + //Return if the cipher passed the tests return passed; }