コード例 #1
0
        public void ReturnNullIfDeserializingNull()
        {
            Serializer <Guid?> serializer = new SqlNullableUniqueidentifierSerializer();
            Guid?actualDeserializedValue  = serializer.Deserialize(null);

            Assert.Null(actualDeserializedValue);
        }
コード例 #2
0
        public void DeserializeTheSameAsSqlServer(Guid?plaintext)
        {
            Database.Insert(new SqlParameter("@parameter", SqlDbType.UniqueIdentifier)
            {
                Value = plaintext
            });
            byte[]             ciphertextBytes = Database.SelectCiphertext(SqlDbType.UniqueIdentifier);
            byte[]             plaintextBytes  = deterministicEncryptionAlgorithm.Decrypt(ciphertextBytes);
            Serializer <Guid?> serializer      = new SqlNullableUniqueidentifierSerializer();
            Guid?expectedPlaintext             = serializer.Deserialize(plaintextBytes);
            Guid?actualPlaintext = (Guid?)Database.SelectPlaintext(SqlDbType.UniqueIdentifier);

            Assert.Equal(expectedPlaintext, actualPlaintext);
        }
コード例 #3
0
        public void SerializeTheSameAsSqlServer(Guid?plaintext)
        {
            Serializer <Guid?> serializer = new SqlNullableUniqueidentifierSerializer();

            byte[] serializedPlaintext = serializer.Serialize(plaintext);
            byte[] expectedCiphertext  = deterministicEncryptionAlgorithm.Encrypt(serializedPlaintext);

            Database.Insert(new SqlParameter("@parameter", SqlDbType.UniqueIdentifier)
            {
                Value = plaintext
            });
            byte[] actualCiphertext = Database.SelectCiphertext(SqlDbType.UniqueIdentifier);

            Assert.Equal(expectedCiphertext, actualCiphertext);
        }
コード例 #4
0
        public void ShouldThrowIfDeserializingLessThanSixteenBytes(byte[] data)
        {
            Serializer <Guid?> serializer = new SqlNullableUniqueidentifierSerializer();

            Assert.Throws <ArgumentOutOfRangeException>(() => serializer.Deserialize(data));
        }