public void AddLabelToTaskComment()
        {
            ProcessInfo actual   = SynergyCommandBuilder.AddLabelToTaskComment(connection, project, result);
            string      expected = string.Format(@"task /modify /description ""Integrated Successfully with CruiseControl.NET project 'MyCCNETProject' build '765' on {0}"" ""100,2000,30000""", result.StartTime);

            ValidateProcessInfo(actual, expected);
        }
        public void CreateBaseline()
        {
            ProcessInfo actual   = SynergyCommandBuilder.CreateBaseline(connection, project, result);
            string      expected = string.Format(@"baseline /create ""19700101 CCNET build 765 "" /description ""Integrated Successfully with CruiseControl.NET project 'MyCCNETProject' build '765' on {0}"" /release ""MyProduct/1.0"" /purpose ""Integration Testing"" /p ""MyProject-MyProject_Int"" /subprojects", result.StartTime);

            ValidateProcessInfo(actual, expected);
        }
        public void GetNewTasks()
        {
            ProcessInfo actual             = SynergyCommandBuilder.GetNewTasks(connection, project, DateTime.MinValue);
            string      expectedDateString = SynergyCommandBuilder.FormatCommandDate(DateTime.MinValue);
            string      expectedCommand    = string.Format(@"query /type task /format ""%displayname #### %task_number #### %completion_date #### %resolver #### %task_synopsis #### "" /nf /u /no_sort ""status != 'task_automatic' and status != 'excluded' and completion_date >= time('{0}') and not ( is_task_in_folder_of(folder('1234')) or is_task_in_folder_of(is_folder_in_rp_of(is_baseline_project_of('MyProject-MyProject_Int:project:1'))) or is_task_in_rp_of(is_baseline_project_of('MyProject-MyProject_Int:project:1')) ) and (is_task_in_folder_of(is_folder_in_rp_of('MyProject-MyProject_Int:project:1')) or is_task_in_rp_of('MyProject-MyProject_Int:project:1'))""", expectedDateString);

            ValidateProcessInfo(actual, expectedCommand);
        }
        public void Heartbeat()
        {
            ProcessInfo actual = SynergyCommandBuilder.Heartbeat(connection);

            ValidateProcessInfo(actual, "status");
        }
        public void AddTasksToFolder()
        {
            ProcessInfo actual = SynergyCommandBuilder.AddTasksToFolder(connection, project, result);

            ValidateProcessInfo(actual, @"folder /modify /add_tasks ""100,2000,30000"" /y ""1234""");
        }
        public void GetNewObjects()
        {
            ProcessInfo actual = SynergyCommandBuilder.GetObjectPaths(connection, project);

            ValidateProcessInfo(actual, @"finduse @");
        }
        public void GetLastReconfigureTime()
        {
            ProcessInfo actual = SynergyCommandBuilder.GetLastReconfigureTime(connection, project);

            ValidateProcessInfo(actual, @"attribute /show reconf_time ""MyProject-MyProject_Int:project:1""");
        }
        public void GetProjectName()
        {
            ProcessInfo actual = SynergyCommandBuilder.GetProjectFullName(connection, project);

            ValidateProcessInfo(actual, @"properties /format ""%objectname"" /p ""MyProject-MyProject_Int""");
        }
        public void UpdateReconfigureProperites()
        {
            ProcessInfo actual = SynergyCommandBuilder.UpdateReconfigureProperites(connection, project);

            ValidateProcessInfo(actual, @"reconfigure_properties /refresh /recurse ""MyProject-MyProject_Int""");
        }
        public void Reconcile()
        {
            ProcessInfo actual = SynergyCommandBuilder.Reconcile(connection, project, @"c:\ccm_wa\project-ver\project\folder");

            ValidateProcessInfo(actual, @"reconcile /consider_uncontrolled /missing_wa_file /recurse /update_wa ""c:\ccm_wa\project-ver\project\folder""");
        }
        public void Reconfigure()
        {
            ProcessInfo actual = SynergyCommandBuilder.Reconfigure(connection, project);

            ValidateProcessInfo(actual, @"reconfigure /recurse /keep_subprojects /project ""MyProject-MyProject_Int""");
        }
        public void UseReconfigureTemplate()
        {
            ProcessInfo actual = SynergyCommandBuilder.UseReconfigureTemplate(connection, project);

            ValidateProcessInfo(actual, @"reconfigure_properties /reconf_using template /recurse ""MyProject-MyProject_Int""");
        }
        public void GetWorkArea()
        {
            ProcessInfo actual = SynergyCommandBuilder.GetWorkArea(connection, project);

            ValidateProcessInfo(actual, @"info /format ""%wa_path\%name"" /project ""MyProject-MyProject_Int""");
        }
        public void GetDcmSettings()
        {
            ProcessInfo actual = SynergyCommandBuilder.GetDcmSettings(connection);

            ValidateProcessInfo(actual, @"dcm /show /settings");
        }
        public void GetDcmDelimiter()
        {
            ProcessInfo actual = SynergyCommandBuilder.GetDcmDelimiter(connection);

            ValidateProcessInfo(actual, @"dcm /show /delimiter");
        }
        public void Start()
        {
            ProcessInfo actual = SynergyCommandBuilder.Start(connection, project);

            ValidateProcessInfo(actual, @"start -nogui -q -m -h ""localhost"" -d ""\\server\share\dbname"" -p ""MyProject-MyProject_Int"" -n ""jdoe"" -pw ""password"" -r ""build_mgr"" -u ""C:\cmsynergy\uidb"" -home ""C:\cmsynergy\jdoe""");
        }
        public void Stop()
        {
            ProcessInfo actual = SynergyCommandBuilder.Stop(connection);

            ValidateProcessInfo(actual, "stop");
        }
        public void GetTaskObjects()
        {
            ProcessInfo actual = SynergyCommandBuilder.GetTaskObjects(connection, project);

            ValidateProcessInfo(actual, @"task /show objects /no_sort /u @");
        }
        public void GetSubProjects()
        {
            ProcessInfo actual = SynergyCommandBuilder.GetSubProjects(connection, project);

            ValidateProcessInfo(actual, @"query hierarchy_project_members('MyProject-MyProject_Int:project:1', 'none')");
        }
        public void SetProjectRelease()
        {
            ProcessInfo actual = SynergyCommandBuilder.SetProjectRelease(connection, project);

            ValidateProcessInfo(actual, @"attribute /m release /v ""MyProduct/1.0"" @ ");
        }