public void EncryptDecryptTest() { // Arrange. var originalData = new byte[200]; var originalEmpty = new byte[0]; var rand = new Random(); rand.NextBytes(originalData); var es = new EncryptionService(); // Act. var encryptedData = es.Encrypt(originalData); var encryptedEmpty = es.Encrypt(originalEmpty); var decryptedData = es.Decrypt(encryptedData); var decryptedEmpty = es.Decrypt(encryptedEmpty); // Assert. Assert.IsTrue(originalData.SequenceEqual(decryptedData)); Assert.IsTrue(originalEmpty.SequenceEqual(decryptedEmpty)); // Invalid arguments. TestsHelper.VerifyThrow<ArgumentNullException>(() => es.Encrypt(null)); TestsHelper.VerifyThrow<ArgumentNullException>(() => es.Decrypt(null)); }
public void WhenDataIsCorruptedDecryptThrowsError() { // Arrange. var originalData = new byte[200]; var rand = new Random(); rand.NextBytes(originalData); var es = new EncryptionService(); var encryptedData = es.Encrypt(originalData); // Act / Assert. encryptedData[100] = (byte)~encryptedData[100]; TestsHelper.VerifyThrow<CryptographicException>(() => es.Decrypt(encryptedData)); }
public void EncryptDecryptString() { // Arrange. const string OriginalString = "Test String"; var emptyString = string.Empty; var es = new EncryptionService(); // Act. var encryptedString = es.EncryptString(OriginalString); var encryptedEmpty = es.EncryptString(emptyString); var decryptedString = es.DecryptString(encryptedString); var decryptedEmpty = es.DecryptString(encryptedEmpty); // Assert. Assert.AreEqual(OriginalString, decryptedString); Assert.AreEqual(emptyString, decryptedEmpty); // Invalid arguments. TestsHelper.VerifyThrow<ArgumentNullException>(() => es.EncryptString(null)); TestsHelper.VerifyThrow<ArgumentNullException>(() => es.DecryptString(null)); }