 
         // When
 
-        let leftConstraint: NSLayoutConstraint = self.mockView.addLeftConstraint(toView: self.mockSuperview, attribute: .Right, relation: .Equal, constant: 0.0)
-
-        // Then
-
-        self.verify(leftConstraint, firstView: self.mockView, firstAttribute: .Left, secondView: self.mockSuperview, secondAttribute: .Right, relation: .Equal, constant: 0.0)
-    }
-
-    func testAddLeftConstraint_CreatesLeftConstraint_WithDefaultValues() {
+        let leftConstraint: NSLayoutConstraint = self.mockView.addLeftConstraint(toView: self.mockSuperview, attribute: .Right, relation: .LessThanOrEqual, constant: 10.0)
+
+        // Then
+
+        self.verify(leftConstraint, firstView: self.mockView, firstAttribute: .Left, secondView: self.mockSuperview, secondAttribute: .Right, relation: .LessThanOrEqual, constant: 10.0)
+    }
+
+    func testAddLeftConstraint_CreatesLeftConstraintWithDefaultValues() {
 
         // When
 

        let expectedResult = self.mockSuperview.constraints
        let actualResult: [NSLayoutConstraint] = [rightConstraint]
        
        XCTAssertEqual(expectedResult, actualResult, "Error: expected constraints to contain just the rightConstraint but instead it does not it contains \(expectedResult.count) constraints")
    }
    
    func testAddRightConstraint_CreatesRightConstraint() {
        
        // When
        
        let rightConstraint: NSLayoutConstraint = self.mockView.addRightConstraint(toView: self.mockSuperview, attribute: .Left, relation: .Equal, constant: 0.0);

        // Then
        
        self.verify(rightConstraint, firstView: self.mockView, firstAttribute: .Right, secondView: self.mockSuperview, secondAttribute: .Left, relation: .Equal, constant: 0.0)
    }

    func testAddRightConstraint_CreatesRightConstraint_WithDefaultValues() {

        // When


            
            XCTAssertNil(constraint.secondItem, "Error: expected constraint's secondItem to be nil but instead it is not \(constraint.secondItem)")
        }

        // First attribute

        XCTAssertEqual(constraint.firstAttribute, firstAttribute, "Error: expected constraint's firstAttribute to be \(firstAttribute) but instead it is \(constraint.firstAttribute)")

        // Second attribute

        XCTAssertEqual(constraint.secondAttribute, secondAttribute, "Error: expected constraint's firstAttribute to be \(secondAttribute) but instead it is \(constraint.firstAttribute.rawValue)")

        // Relation

        if let constraintRelation = relation {

            XCTAssertEqual(constraint.relation, constraintRelation, "Error: expected constraint's relation to be \(constraintRelation) but instead it is \(constraint.relation.rawValue)")
        }

        // Constant

        if let constraintConstant = constant {

            XCTAssertEqual(constraint.constant, constraintConstant, "Error: expected constraint's constant to be \(constraintConstant) but instead it is \(constraint.constant)")
