public void TransformFinalBlockInvalidArgumentsTest() { using (var transform = new SimpleSymmetricAlgorithm()) { using (var encryptor = transform.CreateDecryptor()) { Assert.Throws <ArgumentNullException>(() => encryptor.TransformFinalBlock(null, 0, BlockSizeBytes)); Assert.Throws <ArgumentOutOfRangeException>(() => encryptor.TransformFinalBlock(new byte[BlockSizeBytes], -1, BlockSizeBytes)); Assert.Throws <ArgumentOutOfRangeException>(() => encryptor.TransformFinalBlock(new byte[BlockSizeBytes], 0, -1)); Assert.Throws <ArgumentException>(() => encryptor.TransformFinalBlock(new byte[BlockSizeBytes], BlockSizeBytes, BlockSizeBytes)); } using (var decryptor = transform.CreateDecryptor()) { Assert.Throws <CryptographicException>(() => decryptor.TransformFinalBlock(new byte[BlockSizeBytes], 0, BlockSizeBytes - 1)); } } }
public void TransformFinalBlock_Throws_IfParametersAreInvalid() { var inputBuffer = new byte[BlockSizeBytes]; var inputCount = BlockSizeBytes; var inputOffset = 0; using var transform = new SimpleSymmetricAlgorithm(); using var encryptor = transform.CreateEncryptor(); using var decryptor = transform.CreateDecryptor(); Assert.Throws <ArgumentNullException>(nameof(inputBuffer), () => encryptor.TransformFinalBlock(null !, inputOffset, inputCount)); Assert.Throws <ArgumentOutOfRangeException>(nameof(inputOffset), () => encryptor.TransformFinalBlock(inputBuffer, -1, inputCount)); Assert.Throws <ArgumentOutOfRangeException>(nameof(inputCount), () => encryptor.TransformFinalBlock(inputBuffer, inputOffset, -1)); Assert.Throws <ArgumentException>(null, () => encryptor.TransformFinalBlock(inputBuffer, inputCount, inputCount)); Assert.Throws <CryptographicException>( () => decryptor.TransformFinalBlock(inputBuffer, inputOffset, inputCount - 1)); }