GetJobParameters() public method

Checks for suffix on keys and use those to decide how to convert the value.
  if a number or date is passed in that cannot be parsed, or cast to the correct type.
public GetJobParameters ( NameValueCollection props ) : JobParameters
props System.Collections.Specialized.NameValueCollection
return JobParameters
    public void GetJobParametersTest()
    {
        DefaultJobParametersConverter converter = new DefaultJobParametersConverter();
 
        NameValueCollection props2 = new NameValueCollection
        {
            {"+dateDebut(date)", "1970/07/31"},
            {"+everything(long)", "42"},
            {"-balance(double)", "1000.0"},
            {"+name(string)", "thierry"},
            {"-default", "default"},
            {"unmarked", "unmarked"}
        };
        JobParameters jobParameters2 = converter.GetJobParameters(props2);
        Assert.IsNotNull(jobParameters2);
        Assert.AreEqual(6,jobParameters2.GetParameters().Count);
        IDictionary<string, JobParameter> dico = jobParameters2.GetParameters();
        foreach (KeyValuePair<string, JobParameter> entry in dico)
        {
            string key = entry.Key;
            JobParameter value = entry.Value;
            Assert.IsFalse(key.StartsWith("-"));
            if ("dateDebut".Equals(key))
            {
                Assert.AreEqual(JobParameter.ParameterType.Date,value.Type);
                Assert.IsTrue(value.Identifying);
            }
            if ("everything".Equals(key))
            {
                Assert.AreEqual(JobParameter.ParameterType.Long, value.Type);
                Assert.IsTrue(value.Identifying);
            }
            if ("balance".Equals(key))
            {
                Assert.AreEqual(JobParameter.ParameterType.Double, value.Type);
                Assert.IsFalse(value.Identifying);
            }
            if ("name".Equals(key))
            {
                Assert.AreEqual(JobParameter.ParameterType.String, value.Type);
                Assert.IsTrue(value.Identifying);
            }
            if ("default".Equals(key))
            {
                Assert.AreEqual(JobParameter.ParameterType.String, value.Type);
                Assert.IsFalse(value.Identifying);
            }
            if ("unmarked".Equals(key))
            {
                Assert.AreEqual(JobParameter.ParameterType.String, value.Type);
                Assert.IsTrue(value.Identifying);
            }
        }
    }
        public void RunTestSynchronousExecutor()
        {            
            SimpleJobLauncher launcher = new SimpleJobLauncher();
            IJobInstanceDao jobInstanceDao = new MapJobInstanceDao();
            IJobExecutionDao jobExecutionDao = new MapJobExecutionDao();
            IStepExecutionDao stepExecutionDao = new MapStepExecutionDao();
            IExecutionContextDao executionContextDao = new MapExecutionContextDao();

            IJobRepository jobRepository =
                new SimpleJobRepository(jobInstanceDao, jobExecutionDao, stepExecutionDao, executionContextDao);
            launcher.JobRepository = jobRepository;

            DefaultJobParametersConverter converter = new DefaultJobParametersConverter();
            NameValueCollection props2 = new NameValueCollection
            {
                {"+dateDebut(date)", "1970/07/31"},
                {"+everything(long)", "42"},
                {"-balance(double)", "1000.0"},
                {"+name(string)", "thierry"},
                {"-default", "default"}
            };
            JobParameters jobParameters = converter.GetJobParameters(props2);

            IJob job = new SimpleJob("myTestJob");
            job.JobParametersValidator = new DummyValidator();
            job.Restartable = false;
            TaskletStep step = new TaskletStep("simpleTS")
            {
                JobRepository = jobRepository,
                Tasklet = new MyDummyTasklet()
            };
            ((SimpleJob)job).AddStep(step);
            ((SimpleJob) job).JobRepository = jobRepository;
            JobExecution jobExecution = launcher.Run(job, jobParameters);
            Assert.IsFalse(jobExecution.Status.IsUnsuccessful());
            Assert.IsFalse(jobExecution.Status.IsRunning()); 
        }
        public void RunTestSystemCommandTasklet()
        {
            SimpleJobLauncher launcher = new SimpleJobLauncher();
            IJobInstanceDao jobInstanceDao = new MapJobInstanceDao();
            IJobExecutionDao jobExecutionDao = new MapJobExecutionDao();
            IStepExecutionDao stepExecutionDao = new MapStepExecutionDao();
            IExecutionContextDao executionContextDao = new MapExecutionContextDao();

            IJobRepository jobRepository =
                new SimpleJobRepository(jobInstanceDao, jobExecutionDao, stepExecutionDao, executionContextDao);
            launcher.JobRepository = jobRepository;

            DefaultJobParametersConverter converter = new DefaultJobParametersConverter();
            NameValueCollection props2 = new NameValueCollection
            {
                {"+dateDebut(date)", "1970/07/31"},
                {"+everything(long)", "42"},
                {"-balance(double)", "1000.0"},
                {"+name(string)", "thierry"},
                {"-default", "default"}
            };
            JobParameters jobParameters = converter.GetJobParameters(props2);

            IJob job = new SimpleJob("myTestJob");
            job.JobParametersValidator = new DummyValidator();
            job.Restartable = false;
            TaskletStep step = new TaskletStep("simpleTS") {JobRepository = jobRepository};
            SystemCommandTasklet tasklet = new SystemCommandTasklet
            {
                Command = "DEL MyDummyTasklet2_out_*.txt",
                WorkingDirectory = "C:/temp",
                Timeout = 10000000,
                SystemProcessExitCodeMapper = new SimpleSystemProcessExitCodeMapper()
            };
            step.Tasklet = tasklet;
            step.RegisterStepExecutionListener(tasklet);
            ((SimpleJob)job).AddStep(step);
            ((SimpleJob)job).JobRepository = jobRepository;
            ITaskExecutor taskExecutor = new SimpleAsyncTaskExecutor();
            launcher.TaskExecutor = taskExecutor;
            JobExecution jobExecution = launcher.Run(job, jobParameters);
            //wait for execution end (asynchronous)            
            Assert.IsFalse(jobExecution.Status.IsUnsuccessful());
            Assert.IsFalse(jobExecution.Status.IsRunning());
        }