public DslFactoryFixture() { factory = new DslFactory(); mocks = new MockRepository(); mockedDslEngine = mocks.DynamicMock<DslEngine>(); mockCache = mocks.DynamicMock<IDslEngineCache>(); mockCache.WriteLock(null); LastCall.Repeat.Any() .IgnoreArguments() .Do((Action<CacheAction>) ExecuteCachedAction); mockCache.ReadLock(null); LastCall.Repeat.Any() .IgnoreArguments() .Do((Action<CacheAction>)ExecuteCachedAction); IDslEngineStorage mockStorage = mocks.DynamicMock<IDslEngineStorage>(); Assembly assembly = Assembly.GetCallingAssembly(); context = new CompilerContext(); context.GeneratedAssembly = assembly; mockedDslEngine.Storage = mockStorage; mockedDslEngine.Cache = mockCache; SetupResult.For(mockStorage.GetMatchingUrlsIn("", ref testUrl)).Return(new string[] { testUrl }); SetupResult.For(mockStorage.IsUrlIncludeIn(null, null, null)) .IgnoreArguments() .Return(true); }
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(); } }
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]); }
private static DslFactory CreateFactory() { DslFactory dslFactory = new DslFactory(); dslFactory.Register <EtlProcess>(new EtlDslEngine()); return(dslFactory); }
static void Main() { //add the DSL factory var factory = new DslFactory(); //register type //factory.Register<BaseOrderActionsDSL>(new OrderActionsDslEngine()); //load dsl script //BaseOrderActionsDSL instance = factory.Create<BaseOrderActionsDSL>(@"Orders/OrderBusinessRules.boo"); //use DSL target object // instance.Order = new Order(); // instance.Order.TotalCost = 5000; // instance.User = new User(); // instance.User.IsPreferred = true; //prepare DSL IL //instance.Prepare(); //run DSL logic //instance.Execute(); Console.WriteLine(); Console.WriteLine("Just checking.."); Console.ReadLine(); }
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(); }
public BuildRunner([ImportMany] IEnumerable<ITaskImportBuilder> taskImportBuilders) { dslFactory = new DslFactory(); dslFactory.Register<PhantomBase>( new PhantomDslEngine(taskImportBuilders.ToArray()) ); }
public BooDslFactory([ImportMany] IEnumerable <ITaskImportBuilder> taskImportBuilders) { dslFactory = new DslFactory(); dslFactory.Register <PhantomBase>( new PhantomDslEngine(taskImportBuilders.ToArray()) ); }
public DslFactoryFixture() { factory = new DslFactory(); mocks = new MockRepository(); mockedDslEngine = mocks.DynamicMock <DslEngine>(); mockCache = mocks.DynamicMock <IDslEngineCache>(); mockCache.WriteLock(null); LastCall.Repeat.Any() .IgnoreArguments() .Do((Action <CacheAction>)ExecuteCachedAction); mockCache.ReadLock(null); LastCall.Repeat.Any() .IgnoreArguments() .Do((Action <CacheAction>)ExecuteCachedAction); IDslEngineStorage mockStorage = mocks.DynamicMock <IDslEngineStorage>(); Assembly assembly = Assembly.GetCallingAssembly(); context = new CompilerContext(); context.GeneratedAssembly = assembly; mockedDslEngine.Storage = mockStorage; mockedDslEngine.Cache = mockCache; SetupResult.For(mockStorage.GetMatchingUrlsIn("", ref testUrl)).Return(new string[] { testUrl }); SetupResult.For(mockStorage.IsUrlIncludeIn(null, null, null)) .IgnoreArguments() .Return(true); }
public void SetUp() { _factory = new DslFactory { BaseDirectory = AppDomain.CurrentDomain.BaseDirectory }; _factory.Register <StateMachineBuilder>(new StateMachineDSLEngine()); }
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")); }
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 BooLangEvaluator(IRuleDslEngineStorage dslEngineStorage) { parsedModels = new Dictionary <string, DslModel>(); ruleDslEngine = new RuleDslEngine <RuleDslModel>(); ruleDslEngine.Storage = dslEngineStorage; dslFactory = new DslFactory(); dslFactory.Register <RuleDslModel>(ruleDslEngine); this.dslEngineStorage = dslEngineStorage; }
protected void InitializeIfNeeded() { lock (this) { if (_dsl != null) return; _dsl = new DslFactory(); _dsl.BaseDirectory = BaseDirectory; _dsl.Register<ScriptDSLBase>(new ScriptDSLEngine(BaseDirectory)); } }
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")); }
protected override void Before_each_spec() { dependencyResolver = CreateStub<IDependencyResolver>(); dependencyResolver.Stub(x => x.Resolve<SVNSourceControl>()).Return(new SVNSourceControl(string.Empty)); IoC.InitializeWith(dependencyResolver); factory = new DslFactory { BaseDirectory = DirectoryHelper.GetBaseDirectory() }; factory.Register<BooConfigReader>(new ConfigReaderEngine()); packageTree = MockRepository.GenerateStub<IPackageTree>(); }
public virtual IBuildConfigReader SetDslFactory(IPackageTree packageTree) { PackageTree = packageTree; factory = new DslFactory { BaseDirectory = packageTree.CurrentDirectory.FullName }; factory.Register <BooConfigReader>(new ConfigReaderEngine()); return(this); }
public void SetUp() { factory = new DslFactory { BaseDirectory = AppDomain.CurrentDomain.BaseDirectory }; var engine = new StateMachineDSLEngine(); engine.ImportedNamespaces.Add("Entropy.SimpleStateMachine.Tests"); engine.ReferencedAssemblies.Add(GetType().Assembly); factory.Register <StateMachineBuilder>(engine); }
public virtual IBuildConfigReader SetDslFactory(IPackageTree packageTree) { PackageTree = packageTree; factory = new DslFactory { BaseDirectory = packageTree.CurrentDirectory.FullName }; factory.Register<BooConfigReader>(new ConfigReaderEngine()); return this; }
protected override void OnLoad(EventArgs e) { if (DesignMode) { return; } base.OnLoad(e); var factory = new DslFactory { BaseDirectory = AppDomain.CurrentDomain.BaseDirectory }; var engine = new StateMachineDSLEngine(); engine.ImportedNamespaces.Add("StateMachineDemo.Domain"); engine.ReferencedAssemblies.Add(typeof(Order).Assembly); factory.Register <StateMachineBuilder>(engine); if (String.IsNullOrEmpty(WorkflowDirectory)) { WorkflowDirectory = @"WorkflowDefinitions\Basic"; } StateMachineBuilder[] machines = factory.CreateAll <StateMachineBuilder>(WorkflowDirectory); foreach (StateMachineBuilder builder in machines) { var newMachine = new StateMachine(); //As an alternative to using the task_assembly "assemblyname" //feature of the DSL, you can manually //register any assemblites that contain StateTransitionTasks. //This step can be skipped, but then all loaded assemblies //will be checked for tasks and if your project has a lot //of references, this will be a lot of wasted CPU cycles. //In this case, we are using the DSL to register the assembly //newMachine.RegisterTaskAssembly(GetType().Assembly); builder.BuildStateMachine(newMachine); _machines.Add(newMachine.Name, newMachine); _stateMachinePicker.Items.Add(newMachine.Name); } if (_stateMachinePicker.Items.Count > 0) { _stateMachinePicker.SelectedIndex = 0; } }
protected override void Before_each_spec() { dependencyResolver = CreateStub<IDependencyResolver>(); var environmentVariable = CreateStub<IEnvironmentVariable>(); environmentVariable.Stub(x => x.GetDirectoryFor("git.cmd")).Return(Environment.CurrentDirectory); dependencyResolver.Stub(x => x.Resolve<GitSourceControl>()).Return(new GitSourceControl(environmentVariable)); IoC.InitializeWith(dependencyResolver); factory = new DslFactory { BaseDirectory = DirectoryHelper.GetBaseDirectory() }; factory.Register<BooConfigReader>(new ConfigReaderEngine()); packageTree = MockRepository.GenerateStub<IPackageTree>(); }
protected override void Before_each_spec() { dependencyResolver = CreateStub <IDependencyResolver>(); dependencyResolver.Stub(x => x.Resolve <SVNSourceControl>()).Return(new SVNSourceControl(string.Empty)); IoC.InitializeWith(dependencyResolver); factory = new DslFactory { BaseDirectory = DirectoryHelper.GetBaseDirectory() }; factory.Register <BooConfigReader>(new ConfigReaderEngine()); packageTree = MockRepository.GenerateStub <IPackageTree>(); }
private DslFactory GetDslFactory() { lock (this) { if (_fact == null) { _fact = new DslFactory(); _fact.BaseDirectory = BaseDirectory; NGinnDslEngine eng1 = new NGinnDslEngine(); eng1.BaseType = typeof(BooTaskScriptBase); _fact.Register(typeof(BooTaskScriptBase), eng1); } return _fact; } }
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(); }
protected override void Before_each_spec() { dependencyResolver = CreateStub <IDependencyResolver>(); var environmentVariable = CreateStub <IEnvironmentVariable>(); environmentVariable.Stub(x => x.GetDirectoryFor("git.cmd")).Return(Environment.CurrentDirectory); dependencyResolver.Stub(x => x.Resolve <GitSourceControl>()).Return(new GitSourceControl(environmentVariable)); IoC.InitializeWith(dependencyResolver); factory = new DslFactory { BaseDirectory = DirectoryHelper.GetBaseDirectory() }; factory.Register <BooConfigReader>(new ConfigReaderEngine()); packageTree = MockRepository.GenerateStub <IPackageTree>(); }
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(); }
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 }); }
/// <summary> /// Initializes a new instance of the <see cref="StateMachineService"/> class. /// </summary> /// <param name="workflowDirectory">The workflow directory.</param> /// <param name="importedNamespaces">The imported namespaces.</param> /// <param name="referencedAssemblies">The referenced assemblies.</param> public StateMachineService(string workflowDirectory, IEnumerable <string> importedNamespaces, IEnumerable <Assembly> referencedAssemblies) { if (workflowDirectory == null) { throw new ArgumentNullException("workflowDirectory"); } _workflowDirectory = workflowDirectory; _factory = new DslFactory { BaseDirectory = AppDomain.CurrentDomain.BaseDirectory }; var engine = new StateMachineDSLEngine(); engine.ImportedNamespaces.AddRange(importedNamespaces); engine.ReferencedAssemblies.AddRange(referencedAssemblies); _factory.Register <StateMachineBuilder>(engine); }
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]); }
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(); } }
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); } }
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 }); }
public MigrationFactory(EvoOptions options) { _baseDir = options.ScriptDirectory; _factory = new DslFactory(); _factory.Register<MigrationBase>(new EvoEngine()); }
public BaseDslFixture() { factory = new DslFactory(); factory.BaseDirectory = AppDomain.CurrentDomain.BaseDirectory; this.factory.Register <TDslBase>(new TDslEngine()); }
public DslBot(BotSettings settings) : base(settings) { _dslFactory = new DslFactory(); _dslFactory.Register<ResponseStrategy>(new ResponseStrategyDslEngine()); }
static BuildRunner() { dslFactory = new DslFactory(); dslFactory.Register<PhantomBase>(new PhantomDslEngine()); }
static Settings() { DslFactory = new DslFactory(); DslFactory.Register <ArghSettings>(new ArghSettingsDslEngine()); DslFactory.BaseDirectory = Environment.CurrentDirectory; }
static Settings() { DslFactory = new DslFactory(); DslFactory.Register<ArghSettings>(new ArghSettingsDslEngine()); DslFactory.BaseDirectory = Environment.CurrentDirectory; }
private static DslFactory CreateFactory() { DslFactory dslFactory = new DslFactory(); dslFactory.Register<EtlProcess>(new EtlDslEngine()); return dslFactory; }
static QuoteGenerator() { dslFactory = new DslFactory(); dslFactory.Register <QuoteGeneratorRule>(new QuoteGenerationDslEngine()); }
static QuoteGenerator() { dslFactory = new DslFactory(); dslFactory.Register<QuoteGeneratorRule>(new QuoteGenerationDslEngine()); }