public void Should_decrypt_the_property_correctly()
        {
            var child = new SubProperty {
                Secret = Create()
            };

            var message = new MessageWithCircularReferences
            {
                Child = child
            };

            child.Self   = child;
            child.Parent = message;

            mutator.MutateIncoming(message);

            Assert.AreEqual(message.Child.Secret.Value, MySecretMessage);
        }
        public void Should_encrypt_the_property_correctly()
        {
            var child = new SubProperty {
                Secret = MySecretMessage
            };

            var message = new MessageWithCircularReferences
            {
                Child = child
            };

            child.Self   = child;
            child.Parent = message;

            mutator.MutateOutgoing(message);

            Assert.AreEqual(EncryptedBase64Value, message.Child.Secret.EncryptedValue.EncryptedBase64Value);
        }
        public void Should_match_the_property_correctly()
        {
            var child = new SubProperty {
                Secret = MySecretMessage
            };

            var message = new MessageWithCircularReferences
            {
                Child = child
            };

            child.Self   = child;
            child.Parent = message;

            var result = inspector.ScanObject(message).ToList();

            Assert.AreEqual(1, result.Count);
            Assert.AreEqual("Secret", result[0].Item2.Name);
        }
        public void Should_decrypt_the_property_correctly()
        {
            var child = new SubProperty {Secret = Create()};

            var message = new MessageWithCircularReferences
                {
                    Child = child
                };
            child.Self = child;
            child.Parent = message;

            mutator.MutateIncoming(message);

            Assert.AreEqual(message.Child.Secret.Value, MySecretMessage);


        }
        public void Should_encrypt_the_property_correctly()
        {
            var child = new SubProperty {Secret = MySecretMessage};

            var message = new MessageWithCircularReferences
                {
                    Child = child
                };
            child.Self = child;
            child.Parent = message;

            mutator.MutateOutgoing(message);

            Assert.AreEqual(EncryptedBase64Value, message.Child.Secret.EncryptedValue.EncryptedBase64Value);
        }
        public void Should_match_the_property_correctly()
        {
            var child = new SubProperty {Secret = MySecretMessage};

            var message = new MessageWithCircularReferences
                {
                    Child = child
                };
            child.Self = child;
            child.Parent = message;

            var result = inspector.ScanObject(message).ToList();

            Assert.AreEqual(1, result.Count);
            Assert.AreEqual("Secret", result[0].Item2.Name);
        }