예제 #1
0
        public async Task BaseTest()
        {
            using var cancellationTokenSource = new CancellationTokenSource(TimeSpan.FromSeconds(30));
            var cancellationToken = cancellationTokenSource.Token;

            await using var container = CreateContainer(
                            TestModules.CreateDefaultRecorder(),
                            TestModules.CreateDefaultRecognizer(),
                            TestModules.CreateRunnerWithPrintCommand()
                            );
            using var exceptions = container.EnableLoggingForServices(cancellationTokenSource);

            var recognitionService = container.Resolve <RecognitionService>();

            await recognitionService.Start5SecondsStart5SecondsStopTestAsync(cancellationToken);
        }
예제 #2
0
        public async Task SimpleTest()
        {
            using var cancellationTokenSource = new CancellationTokenSource(TimeSpan.FromSeconds(15));
            var cancellationToken = cancellationTokenSource.Token;

            await using var deskbandService = new DeskbandService
                        {
                            ConnectedCommandFactory    = _ => new Command("print", "Connected to H.DeskBand."),
                            DisconnectedCommandFactory = _ => new Command("print", "Disconnected from H.DeskBand."),
                        };
            await using var moduleService = new StaticModuleService(
                            TestModules.CreateTimerNotifierWithDeskbandDateTimeEach1Seconds(),
                            TestModules.CreateRunnerWithPrintCommand()
                            );
            await using var runnerService = new RunnerService(
                            moduleService,
                            moduleService, deskbandService
                            );

            using var exceptions = new IServiceBase[]
                  {
                      moduleService, runnerService, deskbandService
                  }.EnableLogging(cancellationTokenSource);

            moduleService.Add(new DeskbandServiceRunner(deskbandService));

            await Task.Delay(TimeSpan.FromSeconds(5), cancellationToken);

            try
            {
                await runnerService.RunAsync(
                    new Command("deskband", "clear-preview"),
                    cancellationToken);
            }
            catch (OperationCanceledException)
            {
                // ignore cancelling on Github Actions.
            }
        }
예제 #3
0
        public async Task TorrentTest()
        {
            using var cancellationTokenSource = new CancellationTokenSource(TimeSpan.FromMinutes(5));
            var cancellationToken = cancellationTokenSource.Token;

            await using var container = IoCTests.CreateContainer(
                            TestModules.CreateDefaultRecorder(),
                            TestModules.CreateDefaultRecognizer(),
                            TestModules.CreateDefaultSynthesizer(),
                            TestModules.CreateDefaultPlayer(),
                            TestModules.CreateDefaultSearcher(),
                            new TorrentRunner(),
                            TestModules.CreateRunnerWithPrintCommand(),
                            new IntegrationRunner(),
                            TestModules.CreateAliasRunnerCommand("torrent", "смотреть")
                            );
            using var exceptions = container.EnableLoggingForServices(cancellationTokenSource);

            var recognitionService = container.Resolve <RecognitionService>();
            await recognitionService.Start_Wait5Seconds_Stop_TestAsync(cancellationToken);

            var runnerService = container.Resolve <RunnerService>();
            await runnerService.WaitAllAsync(cancellationToken);
        }