public void GivenConstraintSpecification_WhenDeriving_ThenRequiredRelationsMustExist()
        {
            var builder = new ConstraintSpecificationBuilder(this.DatabaseSession);
            var specification = builder.Build();

            Assert.IsTrue(this.DatabaseSession.Derive().HasErrors);

            this.DatabaseSession.Rollback();

            builder.WithDescription("Description");
            specification = builder.Build();

            Assert.IsFalse(this.DatabaseSession.Derive().HasErrors);

            Assert.AreEqual(specification.CurrentPartSpecificationStatus.PartSpecificationObjectState, new PartSpecificationObjectStates(this.DatabaseSession).Created);
            Assert.AreEqual(specification.CurrentObjectState, new PartSpecificationObjectStates(this.DatabaseSession).Created);
            Assert.AreEqual(specification.CurrentObjectState, specification.LastObjectState);
        }