public void ReturnNullIfDeserializingNull() { Serializer <decimal?> serializer = new SqlNullableDecimalSerializer(); decimal?actualDeserializedValue = serializer.Deserialize(null); Assert.Null(actualDeserializedValue); }
public void ThrowWhenPropertyScaleOutOfRange(int precision, int scale) { SqlNullableDecimalSerializer serializer = new SqlNullableDecimalSerializer(); serializer.Precision = precision; Assert.Throws <ArgumentOutOfRangeException>(() => serializer.Scale = scale); }
public void DeserializeTheSameAsSqlServer(decimal?plaintext, byte precision, byte scale) { Database.Insert(new SqlParameter("@parameter", SqlDbType.Decimal) { Value = plaintext, Precision = precision, Scale = scale }); byte[] ciphertextBytes = Database.SelectCiphertext(SqlDbType.Decimal); byte[] plaintextBytes = deterministicEncryptionAlgorithm.Decrypt(ciphertextBytes); Serializer <decimal?> serializer = new SqlNullableDecimalSerializer(precision, scale); decimal?expectedPlaintext = serializer.Deserialize(plaintextBytes); decimal?actualPlaintext = (decimal?)Database.SelectPlaintext(SqlDbType.Decimal); Assert.Equal(expectedPlaintext, actualPlaintext); }
public void SerializeTheSameAsSqlServer(decimal?plaintext, byte precision, byte scale) { Serializer <decimal?> serializer = new SqlNullableDecimalSerializer(precision, scale); byte[] serializedPlaintext = serializer.Serialize(plaintext); byte[] expectedCiphertext = deterministicEncryptionAlgorithm.Encrypt(serializedPlaintext); Database.Insert(new SqlParameter("@parameter", SqlDbType.Decimal) { Value = plaintext, Precision = precision, Scale = scale }); byte[] actualCiphertext = Database.SelectCiphertext(SqlDbType.Decimal); Assert.Equal(expectedCiphertext, actualCiphertext); }
public void ThrowWhenPropertyPrecisionOutOfRange(int precision) { SqlNullableDecimalSerializer serializer = new SqlNullableDecimalSerializer(); Assert.Throws <ArgumentOutOfRangeException>(() => serializer.Precision = precision); }
public void ThrowWhenValueOutOfRange(decimal?plaintext, byte precision, byte scale) { Serializer <decimal?> serializer = new SqlNullableDecimalSerializer(precision, scale); Assert.Throws <ArgumentOutOfRangeException>(() => serializer.Serialize(plaintext)); }
public void ShouldThrowIfDeserializingLessThanSeventeenBytes(byte[] data) { Serializer <decimal?> serializer = new SqlNullableDecimalSerializer(); Assert.Throws <ArgumentOutOfRangeException>(() => serializer.Deserialize(data)); }