Exemple #1
0
        public void When_file_is_changed_will_automatically_get_new_version()
        {
            DslFactory factory = new DslFactory();

            factory.BaseDirectory = AppDomain.CurrentDomain.BaseDirectory;
            factory.Register <DemoDslBase>(new DemoDslEngine());
            File.WriteAllText(path, "log 'test'");

            DemoDslBase demo = factory.Create <DemoDslBase>(path);

            demo.Execute();
            Assert.Equal("test", demo.Messages[0]);

            File.WriteAllText(path, "log 'changed'");
            for (int i = 0; i < 5; i++)
            {
                Thread.Sleep(200);                //let it time to refresh
                demo = factory.Create <DemoDslBase>(path);
                demo.Execute();
                if (demo.Messages[0] == "changed")
                {
                    break;
                }
            }
            Assert.Equal("changed", demo.Messages[0]);
        }
Exemple #2
0
        private static void Main()
        {
            var factory = new DslFactory();
            factory.Register<DeclerativeDslBase>(new DeclerativeDslEngine());

           while (true)
            {

                var dsl = factory.Create<DeclerativeDslBase>("Declerative.dsl");
                dsl.Prepare();
                
               dsl.Execute(
                    new Order { Total = 5000 },
                    new Customer { IsPreferred = false });
                dsl.Execute(
                    new Order { Total = 5000 },
                    new Customer { IsPreferred = true });

                dsl.Execute(
                   new Order { Total = 10 },
                   new Customer { IsPreferred = true });

                Console.ReadKey();
            }
        }
Exemple #3
0
        private IBuildMetaData CreateBuildMetaData(DirectoryInfo buildFolder, string buildFile)
        {
            var buildFileResolver = new BuildFileResolver();

            var buildFilePath = buildFileResolver.Resolve(buildFolder, buildFile).BuildFile;

            try
            {
                configReader = factory.Create <BooConfigReader>(buildFilePath);
            }
            catch (InvalidOperationException e)
            {
                throw new MissingBuildFileException(buildFolder, e);
            }

            configReader.Prepare();

            foreach (var packageInfo in configReader.PackageMetaData.PackageInfo)
            {
                if (packageInfo.Key == "version")
                {
                    continue;
                }

                configReader.BuildMetaData.ProjectInfo.Add(packageInfo.Key, packageInfo.Value);
            }

            configReader.PackageMetaData.PackageInfo.Clear();

            configReader.BuildMetaData.Version = buildFileResolver.Version;

            return(configReader.BuildMetaData);
        }
 private void CanCompile(string script)
 {
     var dslFactory = new DslFactory();
     dslFactory.Register<ResponseStrategy>(new ResponseStrategyDslEngine());
     var strategy = dslFactory.Create<ResponseStrategy>(String.Format(@"Specs\TestDslScripts\{0}", script));
     strategy.ShouldNotBeNull();
 }
Exemple #5
0
        public ScriptModel BuildModel(string path)
        {
            var script = dslFactory.Create <PhantomBase>(path);

            script.Execute();
            return(script.Model);
        }
Exemple #6
0
        public static List <SystemModule> Generate(string url, RequirementsInformation parameters)
        {
            QuoteGeneratorRule rule = dslFactory.Create <QuoteGeneratorRule>(url, parameters);

            rule.Evaluate();
            return(rule.Modules);
        }
        private Host GetHost(IDictionary<string, object> variables)
        {
            DslFactory dslFactory = new DslFactory();
            HostDslEngine dslEngine = new HostDslEngine();
            dslEngine.Storage = new FileSystemDslEngineStorageWithExtension("*.host");

            dslFactory.Register<Host>(dslEngine);
            return dslFactory.Create<Host>(@"config\APPTEST\APPTEST.host", variables);
        }
        public void Dsl_engine_can_take_parameters()
        {
            DslFactory _Factory = new DslFactory();
            _Factory.BaseDirectory = AppDomain.CurrentDomain.BaseDirectory;

            _Factory.Register<MyClassWithParams>(new DslEngineWithParameters());
            MyClassWithParams classWithParams = _Factory.Create<MyClassWithParams>("DslFactoryFixture\\ScriptWithParameter.boo");
            Assert.AreEqual("World", classWithParams.Hello("World"));
        }
Exemple #9
0
        public void Dsl_engine_can_take_parameters()
        {
            DslFactory _Factory = new DslFactory();

            _Factory.BaseDirectory = AppDomain.CurrentDomain.BaseDirectory;

            _Factory.Register <MyClassWithParams>(new DslEngineWithParameters());
            MyClassWithParams classWithParams = _Factory.Create <MyClassWithParams>("DslFactoryFixture\\ScriptWithParameter.boo");

            Assert.Equal("World", classWithParams.Hello("World"));
        }
Exemple #10
0
        public void TransitionActionTestFromDSL()
        {
            var stateMachine = new StateMachine();

            var builder = _factory.Create <StateMachineBuilder>("SimpleStateMachine.boo");

            builder.BuildStateMachine(stateMachine);

            var context = new StateMachineContext(stateMachine, null, null);

            context.Start();

            TestStateMachineTask.Clear();

            context.HandleEvent(1);

            Assert.That(TestStateMachineTask.PhaseHistory.Count, Is.EqualTo(1));

            context.HandleEvent(2);

            Assert.That(TestStateMachineTask.PhaseHistory.Count, Is.EqualTo(3));

            //Global init, Local Finalize, Global init
            Assert.That(TestStateMachineTask.PhaseHistory[0], Is.EqualTo(StateTransitionPhase.StateInitialization));
            Assert.That(TestStateMachineTask.PhaseHistory[1], Is.EqualTo(StateTransitionPhase.StateFinalization));
            Assert.That(TestStateMachineTask.PhaseHistory[2], Is.EqualTo(StateTransitionPhase.StateInitialization));

            //first inits, first finalizes, first inits
            Assert.That(TestStateMachineTask.StateHistory[0], Is.SameAs(stateMachine.States[1]));
            Assert.That(TestStateMachineTask.StateHistory[1], Is.SameAs(stateMachine.States[1]));
            Assert.That(TestStateMachineTask.StateHistory[1], Is.SameAs(stateMachine.States[1]));

            context.HandleEvent(1);

            //first finalizes, initial inits
            Assert.That(TestStateMachineTask.StateHistory[3], Is.SameAs(stateMachine.States[1]));
            Assert.That(TestStateMachineTask.StateHistory[4], Is.SameAs(stateMachine.States[0]));

            Assert.That(TestStateMachineTask.PhaseHistory[3], Is.EqualTo(StateTransitionPhase.StateFinalization));
            Assert.That(TestStateMachineTask.PhaseHistory[4], Is.EqualTo(StateTransitionPhase.StateInitialization));
        }
        public void When_file_is_changed_will_automatically_get_new_version()
        {
            DslFactory factory = new DslFactory();
            factory.BaseDirectory = AppDomain.CurrentDomain.BaseDirectory;
            factory.Register<DemoDslBase>(new DemoDslEngine());
            File.WriteAllText(path, "log 'test'");
            
            DemoDslBase demo = factory.Create<DemoDslBase>(path);
            demo.Execute();
            Assert.Equal("test", demo.Messages[0]);

            File.WriteAllText(path,"log 'changed'");
        	for (int i = 0; i < 5; i++)
        	{
				Thread.Sleep(200);//let it time to refresh
				demo = factory.Create<DemoDslBase>(path);
				demo.Execute();
				if(demo.Messages[0]=="changed")
					break;
        	}
			Assert.Equal("changed", demo.Messages[0]);
        }
        public when_configuring_daemon_using_dsl()
        {
            test_event = new DSLTestEvent(new Categorisation("TEST"), Guid.Empty);

            publisher = new Publisher();

            var factory = new DslFactory
            {
                BaseDirectory = AppDomain.CurrentDomain.BaseDirectory,
            };
            factory.Register<BaseDaemonConfigurationDSL>(new BaseDaemonConfigurationDSLEngine());

            var dsl = factory.Create<BaseDaemonConfigurationDSL>("configuration.boo");
            dsl.Prepare();
            dsl.Execute();
        }
        public void Start()
        {
            log.InfoFormat("Starting the agent");

            var factory = new DslFactory
            {
                BaseDirectory = AppDomain.CurrentDomain.BaseDirectory,
            };
            factory.Register<BaseDaemonConfigurationDSL>(new BaseDaemonConfigurationDSLEngine());

            var dsl = factory.Create<BaseDaemonConfigurationDSL>("configuration.boo");
            dsl.Prepare();
            dsl.Execute();


            schedulerFactory = new StdSchedulerFactory(ConfigurationManager.GetSection("quartz") as NameValueCollection);
            scheduler = schedulerFactory.GetScheduler();

            scheduler.Start();
        }
Exemple #14
0
        private static void Main2()
        {
            var factory = new DslFactory();
            factory.Register<SampleDslBase>(new SampleDslEngine());

            var dsl = factory.Create<SampleDslBase>("sample.dsl");
            dsl.Prepare();

            var entity = new Account();
            dsl.Creating(entity);
            Console.WriteLine("Account numer was set to: " + entity.AccountNumber);

            dsl.Creating(new Order
            {
                Account = new Account
                {
                    MaxOrderTotal = 10
                },
                Total = 15
            });
        }
Exemple #15
0
        private static void Main()
        {
            var factory = new DslFactory();

            factory.Register <DeclerativeDslBase>(new DeclerativeDslEngine());

            while (true)
            {
                var dsl = factory.Create <DeclerativeDslBase>("Declerative.dsl");
                dsl.Prepare();

                dsl.Execute(
                    new Order {
                    Total = 5000
                },
                    new Customer {
                    IsPreferred = false
                });
                dsl.Execute(
                    new Order {
                    Total = 5000
                },
                    new Customer {
                    IsPreferred = true
                });

                dsl.Execute(
                    new Order {
                    Total = 10
                },
                    new Customer {
                    IsPreferred = true
                });

                Console.ReadKey();
            }
        }
Exemple #16
0
        /// <summary>
        /// Creates the state machine.
        /// </summary>
        /// <param name="stateMachineName">Name of the state machine.</param>
        /// <returns>The state machine</returns>
        public IStateMachine CreateStateMachine(string stateMachineName)
        {
            if (string.IsNullOrEmpty(stateMachineName))
            {
                throw new ArgumentNullException("stateMachineName");
            }

            string fileName = UnifyFileName(stateMachineName);

            if (_machineBuilderCache.ContainsKey(fileName) == false)
            {
                _machineBuilderCache[fileName] = _factory.Create <StateMachineBuilder>(fileName);
            }

            StateMachineBuilder stateMachineBuilder = _machineBuilderCache[fileName];

            var machine = new StateMachine {
                Tag = stateMachineName
            };

            stateMachineBuilder.BuildStateMachine(machine);

            return(machine);
        }
Exemple #17
0
        private static void Main(string[] args)
        {
            Thread.CurrentThread.CurrentUICulture = new CultureInfo(1033);

            try
            {
                var factory = new DslFactory();
                factory.Register<PoplarTemplateFactory>(new PoplarDslEngine());
                var templateFactory = factory.Create<PoplarTemplateFactory>(args[0], null);
                templateFactory.Initialize();

                var template = templateFactory.Template;
                Console.WriteLine("{0}: {1}", template.Name, template.Description);
                foreach (var parameter in template.Parameters)
                {
                    Console.WriteLine("  {0}", parameter);
                    Console.WriteLine("    value: {0}", parameter.Value);
                }
            }
            catch (Exception e)
            {
                Console.WriteLine(e);
            }
        }
Exemple #18
0
        private static void Main2()
        {
            var factory = new DslFactory();

            factory.Register <SampleDslBase>(new SampleDslEngine());

            var dsl = factory.Create <SampleDslBase>("sample.dsl");

            dsl.Prepare();

            var entity = new Account();

            dsl.Creating(entity);
            Console.WriteLine("Account numer was set to: " + entity.AccountNumber);

            dsl.Creating(new Order
            {
                Account = new Account
                {
                    MaxOrderTotal = 10
                },
                Total = 15
            });
        }
Exemple #19
0
 protected override void Because()
 {
     configReader = factory.Create <BooConfigReader>(@"BuildConfigs/Horn/hornprebuild.boo");
     configReader.Prepare();
 }
Exemple #20
0
 protected override void Because()
 {
     configReader = factory.Create <BooConfigReader>(@"BuildConfigs/Horn/versioneddependency.boo");
     configReader.Prepare();
 }
 public void CanCompileFile()
 {
     Assert.IsNotNull(factory.Create <StateMachineBuilder>(@"testStateMachine.boo"));
 }