             make.left.equalTo(v2.snp_top).offset(50)
             return
         }
+        
+        XCTAssertEqual(self.container.constraints().count, 2, "Should have 2 constraints installed")
+        
         v1.snp_removeConstraints()
+        
+        XCTAssertEqual(self.container.constraints().count, 0, "Should have 0 constraints installed")
+        
+    }
+    
+    func testPrepareConstraints() {
+        let v1 = UIView()
+        let v2 = UIView()
+        self.container.addSubview(v1)
+        self.container.addSubview(v2)
+        
+        let constraints = v1.snp_prepareConstraints { (make) -> Void in
+            make.edges.equalTo(v2)
+            return
+        }
+        
+        XCTAssertEqual(self.container.constraints().count, 0, "Should have 0 constraints installed")
+        
+        for constraint in constraints {
+            constraint.install()
+        }
+        
+        XCTAssertEqual(self.container.constraints().count, 4, "Should have 4 constraints installed")
+        
+        for constraint in constraints {
+            constraint.uninstall()
+        }
+        
+        XCTAssertEqual(self.container.constraints().count, 0, "Should have 0 constraints installed")
         
     }
     

            make.left.equalTo(v2.snp_top).offset(50)
            return
        }
        v1.snp_remakeConstraints { (make) -> Void in
            make.edges.equalTo(v2)
            return
        }
        
    }
    

            make.left.equalTo(v2.snp_top).offset(50)
            return
        }
        
        XCTAssertEqual(self.container.constraints().count, 2, "Should have 2 constraints installed")
        
        v2.snp_makeConstraints { (make) -> Void in
            make.edges.equalTo(v1)
            return
        }
        
        XCTAssertEqual(self.container.constraints().count, 6, "Should have 6 constraints installed")
        
    }
    
