//Case 48: 1.3.12_SetAnalysisDescription_Normal
        public void Run_Analysis_Acq_SetAnalysisDescription_Case48()
        {
            int runCount = 0;
            string analysisContent = "<trophy type=\"analysis\" version=\"1.0\">          <trophyheader>        <accesslog>            <creation date=\"2011-10-25\" time=\"10:54:17\" applicationname=\"kdis2dviewer\" applicationversion=\"7.0\" />            <modification date=\"2011/10/25\" time=\"10:54:18\" applicationname=\"kdis2dviewer\" applicationversion=\"7.0\" />        </accesslog>    </trophyheader>    <templateheader>        <object subtype=\"analysis\" instance=\"true\" name=\"Test Analysis\" uid=\"\" />        <comments />        <icon filepath=\"analysisicon.jpg\" />        <icon>            <ObjectData>base64imagedata</ObjectData>        </icon>        <icon id=\"thumbnailid\" />        <AnalysisProp name=\"1112222\" comments=\"\" date=\"2011-10-25\" time=\"10:54:17\" arrangementmode=\"0\" />    </templateheader>    <page index=\"0\" Dx=\"1280\" Dy=\"1024\" backgroundColour=\"RGB(0,0,0)\">        <Frame index=\"1\" type=\"floating panel\" x=\"938\" y=\"201\" w=\"200\" h=\"239\" Zorder=\"\">            <PanelProp paneltype=\"control panel xray\" id=\"control panel xray\" showstate=\"maximized\" />        </Frame>        <Frame index=\"2\" type=\"floating panel\" x=\"938\" y=\"201\" w=\"200\" h=\"240\" Zorder=\"\">            <PanelProp paneltype=\"control panel color\" id=\"control panel color\" showstate=\"maximized\" />        </Frame>        <Frame index=\"3\" type=\"image\" x=\"349\" y=\"299\" w=\"266\" h=\"355\" Zorder=\"\">            <PanelProp paneltype=\"image\" id=\"@@PSID0\" showstate=\"selected\" IdV0=\"76b3ec9d-1374-4a13-9950-6cf3f5ebc1e6\" />        </Frame>        <Frame index=\"4\" type=\"image\" x=\"818\" y=\"299\" w=\"266\" h=\"354\" Zorder=\"\">            <PanelProp paneltype=\"image\" id=\"@@PSID1\" showstate=\"deselected\" IdV0=\"eb87d761-accf-4531-b4fc-9ee9861f15fd\" />        </Frame>    </page></trophy>";

            foreach (InputDataSet ids in this.Input.DataSets)
            {
                Round r = this.NewRound(runCount.ToString(), "Acquisition for Analysis");

                CheckPoint pAnalysis = new CheckPoint("Create Analysis", "Create Analysis");
                r.CheckPoints.Add(pAnalysis);

                XMLParameter acq = new XMLParameter("acq_info");
                XMLParameter analysisInfo = new XMLParameter("analysis");
                string PatientID = string.Empty;
                int setInfoCount = 0;

                for (int i = 0; i < ids.InputParameters.Count; i++)
                {
                    if (ids.InputParameters.GetParameter(i).Step == "acquire")
                    {
                        if (ids.InputParameters.GetParameter(i).Key == "patient_internal_id")
                            PatientID = ids.InputParameters.GetParameter(i).Value;
                        acq.AddParameter(ids.InputParameters.GetParameter(i).Key, ids.InputParameters.GetParameter(i).Value);
                    }
                    if (ids.InputParameters.GetParameter(i).Step == "AnalysisInfo")
                    {
                        analysisInfo.AddParameter(ids.InputParameters.GetParameter(i).Key, ids.InputParameters.GetParameter(i).Value);
                        setInfoCount++;
                    }
                }
                string retPsID = string.Empty;
                string AnalysisUID = string.Empty;

                string repStr = "@@PSID";
                XMLParameterCollection anaUidsXML = new XMLParameterCollection();
                XMLParameter anaUids = new XMLParameter("presentationstate");
                XMLParameter anaUidsSet = new XMLParameter("presentationstate");

                for (int acqTime = 0; acqTime < 2; acqTime++)
                {
                    retPsID = AcquisitionService.AcquireImage(acq);
                    if (retPsID != string.Empty)
                    {
                        analysisContent = analysisContent.Replace(repStr + acqTime, retPsID);
                        anaUids.AddParameter("internal_id", retPsID);
                        if (acqTime == 0)
                        {
                            anaUidsSet.AddParameter("internal_id", retPsID);
                        }
                    }
                }

                System.Threading.Thread.Sleep(20000);

                anaUidsXML.Add(anaUids);
                AnalysisService ass = new AnalysisService();

                XMLResult rslCreateAnalysis = ass.createAnalysis(analysisContent, false, true, PatientID, @"D:\Test\DICOM_Imag_Lib\ImportImage\thumb.PNG", anaUidsXML);

                if (rslCreateAnalysis.IsErrorOccured)
                {
                    pAnalysis.Result = TestResult.Fail;
                    pAnalysis.Outputs.AddParameter("Create Analysis", "Analysis Service", rslCreateAnalysis.Message);
                }
                else
                {
                    pAnalysis.Result = TestResult.Pass;
                    AnalysisUID = rslCreateAnalysis.SingleResult;
                    pAnalysis.Outputs.AddParameter("Create Analysis ID:", "Analysis Service", AnalysisUID);
                }

                anaUidsXML.RemoveAt(0);
                anaUidsXML.Add(anaUidsSet);
                XMLResult rslsetAnaDesc = ass.setAnalysisDescription(AnalysisUID, analysisContent, false, anaUidsXML);

                if (rslsetAnaDesc.IsErrorOccured)
                {
                    pAnalysis.Result = TestResult.Fail;
                    pAnalysis.Outputs.AddParameter("Set Analysis Desc Failed", "Analysis Service", rslsetAnaDesc.Message);
                }
                else
                {
                    XMLResult rslGetAnaDesc = ass.getAnalysisDescription(AnalysisUID);

                    XMLResult rslListAnalysisObject = ass.listAnalysisObjects(AnalysisUID);

                    if (rslGetAnaDesc.IsErrorOccured || rslListAnalysisObject.IsErrorOccured)
                    {
                        pAnalysis.Result = TestResult.Fail;
                        pAnalysis.Outputs.AddParameter("Get Analysis Desc Failed", "Analysis Service", rslGetAnaDesc.Message);
                    }
                    else
                    {
                        //for (int co = 0; co < rslListAnalysisObject.MultiResults.Count; co++)
                        //{
                        //    if (rslListAnalysisObject.MultiResults[co].Name == "presentationstate" &&
                        //      rslListAnalysisObject.MultiResults[co].Parameters[0].ParameterValue == anaUidsSet.Parameters[0].ParameterValue)
                        //    {
                        //        pAnalysis.Result = TestResult.Pass;
                        //        pAnalysis.Outputs.AddParameter("Set Analysis Desc successfully", "Analysis Service", "The get presentation information match with setting");
                        //    }
                        //}

                        pAnalysis.Result = TestResult.Pass;

                    }
                }

                ass.deleteAnalysis(AnalysisUID);
                SaveRound(r);
            }
            Output();
        }