Example #1
0
        public void DeserializeTheSameAsSqlServer(DateTime plaintext)
        {
            Database.Insert(new SqlParameter("@parameter", SqlDbType.SmallDateTime)
            {
                Value = plaintext
            });
            byte[] ciphertextBytes = Database.SelectCiphertext(SqlDbType.SmallDateTime);
            byte[] plaintextBytes  = deterministicEncryptionAlgorithm.Decrypt(ciphertextBytes);
            SqlSmalldatetimeSerializer serializer = new SqlSmalldatetimeSerializer();
            DateTime expectedPlaintext            = serializer.Deserialize(plaintextBytes);
            DateTime actualPlaintext = (DateTime)Database.SelectPlaintext(SqlDbType.SmallDateTime);

            Assert.Equal(expectedPlaintext, actualPlaintext);
        }
Example #2
0
        public void SerializeTheSameAsSqlServer(DateTime plaintext)
        {
            SqlSmalldatetimeSerializer serializer = new SqlSmalldatetimeSerializer();

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

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

            Assert.Equal(expectedCiphertext, actualCiphertext);
        }
Example #3
0
        public void ShouldThrowIfDeserializingLessThanFourBytes(byte[] data)
        {
            SqlSmalldatetimeSerializer serializer = new SqlSmalldatetimeSerializer();

            Assert.Throws <ArgumentOutOfRangeException>(() => serializer.Deserialize(data));
        }
Example #4
0
        public void ShouldThrowIfDeserializingNull()
        {
            SqlSmalldatetimeSerializer serializer = new SqlSmalldatetimeSerializer();

            Assert.Throws <ArgumentNullException>(() => serializer.Deserialize(null));
        }
Example #5
0
        public void ThrowWhenValueOutOfRange(DateTime plaintext)
        {
            SqlSmalldatetimeSerializer serializer = new SqlSmalldatetimeSerializer();

            Assert.Throws <ArgumentOutOfRangeException>(() => serializer.Serialize(plaintext));
        }