public void Serialization()
        {
            var extension            = new CommitValidationClientTransactionExtension(new CompoundPersistableDataValidator(new IPersistableDataValidator[0]));
            var deserializedInstance = Serializer.SerializeAndDeserialize(extension);

            Assert.That(deserializedInstance.Validator, Is.Not.Null);
        }
        public void CommitValidate()
        {
            var data1 = PersistableDataObjectMother.Create();
            var data2 = PersistableDataObjectMother.Create();

            var transaction = ClientTransaction.CreateRootTransaction();

            var validatorMock = MockRepository.GenerateStrictMock <IPersistableDataValidator>();
            var extension     = new CommitValidationClientTransactionExtension(validatorMock);

            validatorMock.Expect(mock => mock.Validate(transaction, data1));
            validatorMock.Expect(mock => mock.Validate(transaction, data2));
            validatorMock.Replay();

            extension.CommitValidate(transaction, Array.AsReadOnly(new[] { data1, data2 }));

            validatorMock.VerifyAllExpectations();
        }
        public void Key()
        {
            var extension = new CommitValidationClientTransactionExtension(MockRepository.GenerateStub <IPersistableDataValidator>());

            Assert.That(extension.Key, Is.EqualTo(CommitValidationClientTransactionExtension.DefaultKey));
        }