|
- using Discord.Commands;
- using System;
- using System.Collections.Generic;
- using System.Linq;
- using System.Threading.Tasks;
- using Xunit;
-
- namespace Discord.Net.Commands.Tests
- {
- public partial class CommandServiceConfigTests
- {
- [Theory]
- [MemberData(nameof(SeparatorNodeTestData), MemberType = typeof(CommandServiceConfigTests))]
- public async Task CommandSeparators(CommandServiceConfig config, char separatorChar)
- {
- var service = new CommandService(config);
- var module = await service.AddModuleAsync(typeof(DummyModule)).ConfigureAwait(false);
-
- Assert.True(CommandsLoaded(service, separatorChar));
-
- var dummyContext = new DummyCommandContext();
-
- foreach (var _alias in DefaultAliases)
- {
- var alias = _alias.Replace(' ', separatorChar);
-
- var result = service.Search(dummyContext, alias);
- Assert.True(result.IsSuccess, result.ErrorReason);
- }
- }
-
- public bool CommandsLoaded(CommandService service, char separatorChar)
- {
- if (!service.Commands.Any())
- return false;
-
- var loadedAliases = service.Commands.SelectMany(x => x.Aliases);
-
- foreach (var alias in DefaultAliases)
- {
- if (!loadedAliases.Contains(alias.Replace(' ', separatorChar)))
- {
- return false;
- }
- }
-
- return true;
- }
- }
- }
|