public void ReturnNullIfDeserializingNull() { Serializer <DateTimeOffset?> serializer = new SqlNullableDatetimeoffsetSerializer(); DateTimeOffset?actualDeserializedValue = serializer.Deserialize(null); Assert.Null(actualDeserializedValue); }
public void DeserializeTheSameAsSqlServer(DateTimeOffset?plaintext, byte scale) { Database.Insert(new SqlParameter("@parameter", SqlDbType.DateTimeOffset) { Value = plaintext, Scale = scale }); byte[] ciphertextBytes = Database.SelectCiphertext(SqlDbType.DateTimeOffset); byte[] plaintextBytes = deterministicEncryptionAlgorithm.Decrypt(ciphertextBytes); Serializer <DateTimeOffset?> serializer = new SqlNullableDatetimeoffsetSerializer(scale); DateTimeOffset?expectedPlaintext = serializer.Deserialize(plaintextBytes); DateTimeOffset?actualPlaintext = (DateTimeOffset?)Database.SelectPlaintext(SqlDbType.DateTimeOffset); Assert.Equal(expectedPlaintext, actualPlaintext); }
public void ShouldThrowIfDeserializingLessThanTenBytes(byte[] data) { Serializer <DateTimeOffset?> serializer = new SqlNullableDatetimeoffsetSerializer(); Assert.Throws <ArgumentOutOfRangeException>(() => serializer.Deserialize(data)); }