public async Task StartAsyncTest() { //arrange var dbConnection = new StubIEntityContextConnection { NameOrConnectionStringGet = () => "engine-StartAsyncTest" }; Database.SetInitializer(new CreateFreshDbInitializer()); var logEntries = new List<LogEntry>(); var log = new StubIFeedback<LogEntry> { ReportAsyncT0CancellationToken = (e, c) => { Console.WriteLine(e.ToString()); logEntries.Add(e); return Task.FromResult(0); } }; var isAdapterManagerInitialized = false; var isPluginManagerInitialized = false; var am = new StubIAdapterManager { StartAsyncCancellationToken = async (ct) =>isAdapterManagerInitialized = true }; var pm = new StubIPluginManager { StartAsyncCancellationToken = async (ct) => isPluginManagerInitialized = true }; var tr = new TriggerRunner(log, new StubICommandProcessor(), dbConnection); var st = new ScheduledTaskRunner(log, new StubICommandProcessor(), dbConnection,new CurrentTimeProvider()); var engine = new ZvsEngine(log, am, pm, dbConnection, tr, st); //Act await engine.StartAsync(CancellationToken.None); //assert Assert.IsNotNull(engine); Assert.IsTrue(isAdapterManagerInitialized, "Adapter manager was not started!"); Assert.IsTrue(isPluginManagerInitialized, "Plugin manager was not started!"); Assert.IsTrue(engine.ScheduledTaskRunner.IsRunning, "Scheduled Task Runner was not started!"); Assert.IsTrue(engine.TriggerRunner.IsRunning, "Trigger Runner was not started!"); }
public void ConstructorTest() { //arrange var fb = new StubIFeedback<LogEntry>(); var am = new StubIAdapterManager(); var pm = new StubIPluginManager(); var connection = new StubIEntityContextConnection(); var tr = new TriggerRunner(fb, new StubICommandProcessor(), connection); var st = new StubScheduledTaskRunner(fb, new StubICommandProcessor(), connection, new StubITimeProvider()); //act var engine = new ZvsEngine(fb, am, pm, connection, tr, st); //assert Assert.IsNotNull(engine); }