public void CallingUniqueConstraintReturnsCreateColumnExpression()
        {
            var collectionMock = new Mock<ICollection<IMigrationExpression>>();
            var contextMock = new Mock<IMigrationContext>();
            contextMock.Setup(x => x.Expressions).Returns(collectionMock.Object);

            var root = new CreateExpressionRoot(contextMock.Object);
            var builder = root.UniqueConstraint("UC_Bacon");

            builder.ShouldBeOfType<CreateConstraintExpressionBuilder>();
            contextMock.VerifyGet(x => x.Expressions);
        }
 public void CallingUniqueConstraintShouldCreateAConstraintExpressionWithATypeOfUnique()
 {
     var contextMock = new Mock<IMigrationContext>();
     var root = new CreateExpressionRoot(contextMock.Object);
     var builder = root.UniqueConstraint();
     builder.ShouldBeOfType<CreateConstraintExpression>();
 }
        public void CallingUniqueConstraintCreateColumnExpressionToContextWithSpecifiedNameSet()
        {
            var collectionMock = new Mock<ICollection<IMigrationExpression>>();

            var contextMock = new Mock<IMigrationContext>();
            contextMock.Setup(x => x.Expressions).Returns(collectionMock.Object);

            var root = new CreateExpressionRoot(contextMock.Object);
            root.UniqueConstraint("UC_Bacon");

            collectionMock.Verify(x => x.Add(It.Is<CreateConstraintExpression>(
                e => e.Constraint.ConstraintName.Equals("UC_Bacon")
                     && e.Constraint.IsUniqueConstraint
            )));
            contextMock.VerifyGet(x => x.Expressions);
        }