Пример #1
0
        public void ThrowWhenPropertyScaleOutOfRange(int precision, int scale)
        {
            SqlDecimalSerializer serializer = new SqlDecimalSerializer
            {
                Precision = precision
            };

            Assert.Throws <ArgumentOutOfRangeException>(() => serializer.Scale = scale);
        }
Пример #2
0
        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);
            SqlDecimalSerializer serializer = new SqlDecimalSerializer(precision, scale);
            decimal expectedPlaintext       = serializer.Deserialize(plaintextBytes);
            decimal actualPlaintext         = (decimal)Database.SelectPlaintext(SqlDbType.Decimal);

            Assert.Equal(expectedPlaintext, actualPlaintext);
        }
Пример #3
0
        public void SerializeTheSameAsSqlServer(decimal plaintext, byte precision, byte scale)
        {
            SqlDecimalSerializer serializer = new SqlDecimalSerializer(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);
        }
Пример #4
0
        public void ThrowWhenPropertyPrecisionOutOfRange(int precision)
        {
            SqlDecimalSerializer serializer = new SqlDecimalSerializer();

            Assert.Throws <ArgumentOutOfRangeException>(() => serializer.Precision = precision);
        }
Пример #5
0
        public void ThrowWhenValueOutOfRange(decimal plaintext, byte precision, byte scale)
        {
            SqlDecimalSerializer serializer = new SqlDecimalSerializer(precision, scale);

            Assert.Throws <ArgumentOutOfRangeException>(() => serializer.Serialize(plaintext));
        }
Пример #6
0
        public void ShouldThrowIfDeserializingLessThanSeventeenBytes(byte[] data)
        {
            SqlDecimalSerializer serializer = new SqlDecimalSerializer();

            Assert.Throws <ArgumentOutOfRangeException>(() => serializer.Deserialize(data));
        }
Пример #7
0
        public void ShouldThrowIfDeserializingNull()
        {
            SqlDecimalSerializer serializer = new SqlDecimalSerializer();

            Assert.Throws <ArgumentNullException>(() => serializer.Deserialize(null));
        }