public void TestBuild_UnknownAlgorithm()
        {
            IDictionary <string, IPipelineXmlInterpreter> factories = new Dictionary <string, IPipelineXmlInterpreter>();

            factories.Add("Unknown", new DudInterpreter());
            PipelinePersistanceProcess p = new PipelinePersistanceProcess(factories);
            AlgorithmDefinition        d = new AlgorithmDefinition("Test", new Property[] { });

            d.ParameterObject = new Cloneable();
            p.Build(d);
        }
        public void TestBuild_WithParams()
        {
            DudInterpreter interpreter = new DudInterpreter();
            IDictionary <string, IPipelineXmlInterpreter> factories = new Dictionary <string, IPipelineXmlInterpreter>();

            factories.Add("Test", interpreter);
            PipelinePersistanceProcess p = new PipelinePersistanceProcess(factories);
            AlgorithmDefinition        d = new AlgorithmDefinition("Test", new Property[] { });

            d.ParameterObject = new Cloneable();
            XElement xml = p.Build(d);

            Assert.IsTrue(xml.Descendants("properties").Any());
            Assert.IsTrue(interpreter.DidCallCreateXml);
        }
        public void TestBuild_NoParamObj()
        {
            IDictionary <string, IPipelineXmlInterpreter> factories = new Dictionary <string, IPipelineXmlInterpreter>();

            factories.Add("Test", new DudInterpreter());
            PipelinePersistanceProcess p = new PipelinePersistanceProcess(factories);
            AlgorithmDefinition        d = new AlgorithmDefinition("Test", new Property[] { });
            XElement xml = p.Build(d);

            XAttribute nameAttr = xml.Attribute("name");

            Assert.IsNotNull(nameAttr);
            Assert.AreEqual("Test", nameAttr.Value);
            Assert.IsFalse(xml.Descendants("properties").Any());
        }
Esempio n. 4
0
        /// <summary>
        /// Encapsulates the state of a pipeline into Xml for later restoration.
        /// </summary>
        /// <param name="processes">The set of processes within the pipeline to
        /// persist into Xml.</param>
        /// <returns>An <see cref="XDocument"/> describing the pipeline.</returns>
        public XDocument SavePipeline(Client.PipelineDefinition processes)
        {
            if (processes == null)
            {
                return(null);
            }

            PipelinePersistanceProcess process = new PipelinePersistanceProcess(_repo.ToDictionary());
            XmlBuilder builder = new XmlBuilder(process);

            foreach (AlgorithmDefinition def in processes)
            {
                builder.Algorithms.Add(def);
            }

            builder.Build();
            return(builder.Xml);
        }
 public void TestConstructor_NullFactories()
 {
     PipelinePersistanceProcess p = new PipelinePersistanceProcess(null);
 }