本文整理汇总了C#中PluginManager.StopAsync方法的典型用法代码示例。如果您正苦于以下问题:C# PluginManager.StopAsync方法的具体用法?C# PluginManager.StopAsync怎么用?C# PluginManager.StopAsync使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类PluginManager
的用法示例。
在下文中一共展示了PluginManager.StopAsync方法的2个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C#代码示例。
示例1: StopWhenNotStartedTest
public async Task StopWhenNotStartedTest()
{
//Arrange
var dbConnection = new UnitTestDbConnection();
Database.SetInitializer(new CreateFreshDbInitializer());
var logEntries = new List<LogEntry>();
var log = new StubIFeedback<LogEntry>
{
ReportAsyncT0CancellationToken = (e, c) =>
{
logEntries.Add(e);
Console.WriteLine(e.ToString());
return Task.FromResult(0);
}
};
var plugin = new Plugin()
{
PluginGuid = Guid.Parse("a0f912a6-b8bb-406a-360f-1eb13f50aae4"),
IsEnabled = true
};
using (var context = new ZvsContext(dbConnection))
{
context.Plugins.Add(plugin);
await context.SaveChangesAsync(CancellationToken.None);
}
var unitTestingPlugin = new StubUnitTestPlugin
{
PluginGuidGet = () => Guid.Parse("a0f912a6-b8bb-406a-360f-1eb13f50aae4"),
NameGet = () => "Unit Testing Plugin",
DescriptionGet = () => "",
OnSettingsCreatingPluginSettingBuilder = s => Task.FromResult(0),
OnDeviceSettingsCreatingDeviceSettingBuilder = s => Task.FromResult(0),
OnSceneSettingsCreatingSceneSettingBuilder = s => Task.FromResult(0)
};
var pluginManager = new PluginManager(new List<ZvsPlugin> { unitTestingPlugin }, dbConnection, log, new StubIAdapterManager());
//act
await pluginManager.StopAsync(CancellationToken.None);
//assert
Assert.IsTrue(logEntries.Count(o => o.Level == LogEntryLevel.Warn) == 1);
}
示例2: StopTest
public async Task StopTest()
{
//Arrange
var dbConnection = new UnitTestDbConnection();
Database.SetInitializer(new CreateFreshDbInitializer());
var logEntries = new List<LogEntry>();
var log = new StubIFeedback<LogEntry>
{
ReportAsyncT0CancellationToken = (e, c) =>
{
logEntries.Add(e);
Console.WriteLine(e.ToString());
return Task.FromResult(0);
}
};
var plugin = new Plugin()
{
PluginGuid = Guid.Parse("a0f912a6-b8bb-406a-360f-1eb13f50aae4"),
IsEnabled = true
};
using (var context = new ZvsContext(dbConnection))
{
context.Plugins.Add(plugin);
await context.SaveChangesAsync(CancellationToken.None);
}
var isStartedCount = 0;
var isStoppedCount = 0;
var unitTestingPlugin = new StubUnitTestPlugin
{
PluginGuidGet = () => Guid.Parse("a0f912a6-b8bb-406a-360f-1eb13f50aae4"),
NameGet = () => "Unit Testing Plugin",
DescriptionGet = () => "",
OnSettingsCreatingPluginSettingBuilder = s => Task.FromResult(0),
OnDeviceSettingsCreatingDeviceSettingBuilder = s => Task.FromResult(0),
OnSceneSettingsCreatingSceneSettingBuilder = s => Task.FromResult(0),
StartAsync01 = () =>
{
isStartedCount++;
return Task.FromResult(0);
},
StopAsync01 = () =>
{
isStoppedCount++;
return Task.FromResult(0);
}
};
unitTestingPlugin.OnSettingsCreatingPluginSettingBuilder = async settingBuilder =>
{
var testSetting = new PluginSetting
{
Name = "Test setting",
Value = 360.ToString(CultureInfo.InvariantCulture),
ValueType = DataType.INTEGER,
Description = "Unit testing only"
};
await
settingBuilder.Plugin(unitTestingPlugin)
.RegisterPluginSettingAsync(testSetting, o => o.PropertyTest);
};
var pluginManager = new PluginManager(new List<ZvsPlugin> { unitTestingPlugin }, dbConnection, log, new StubIAdapterManager());
//act
await pluginManager.StartAsync(CancellationToken.None);
await pluginManager.StopAsync(CancellationToken.None);
//assert
Assert.IsTrue(logEntries.All(o => o.Level == LogEntryLevel.Info), "Not all log entries are info level");
Assert.IsTrue(isStartedCount == 1, "Plugin started too many or too few times");
Assert.IsTrue(isStoppedCount == 1, "Plugin stopped too many or too few times");
}