public void Clone_Test() { using (CUBRIDConnection conn = new CUBRIDConnection()) { LogTestStep("Clone a connection"); conn.ConnectionString = DBHelper.connString; Log("change a property value of the original connection"); conn.SetConnectionTimeout(45); conn.Open(); Log("call the Clone method"); CUBRIDConnection clonedConn = conn.Clone(); Assert.IsTrue(clonedConn != null); Log("The property values are different between the original connection and the cloned connection"); Assert.AreEqual(45, conn.ConnectionTimeout); Assert.AreEqual(30, clonedConn.ConnectionTimeout); try { clonedConn.Open(); Log("Close the original connection, check the cloned connection works well"); conn.Close(); Assert.IsTrue(DBHelper.GetTableRowsCount("db_class", clonedConn) > 0); clonedConn.Close(); LogStepPass(); } catch (Exception ex) { Log(ex.Message); LogStepFail(); } finally { LogTestResult(); conn.Close(); clonedConn.Close(); } } }