示例#1
0
        public async Task RestartUnfinishedBuild()
        {
            using (var env = new EngineServiceTestEnvironment())
            {
                env.CreateEngineService();
                Engine engine = await env.CreateEngineAsync();

                EngineRuntime runtime = env.GetRuntime(engine.Id);
                await runtime.InitNewAsync();

                env.BatchTrainer.Train(Arg.Any <IProgress <ProgressStatus> >(), Arg.Do <Action>(checkCanceled =>
                {
                    while (true)
                    {
                        checkCanceled();
                    }
                }));
                Build build = await runtime.StartBuildAsync();

                Assert.That(build, Is.Not.Null);
                await env.WaitForBuildToStartAsync(build.Id);

                env.DisposeEngineService();
                build = await env.BuildRepository.GetAsync(build.Id);

                Assert.That(build.State, Is.EqualTo(BuildStates.Pending));
                env.CreateEngineService();
                await env.WaitForBuildToFinishAsync(build.Id);

                build = await env.BuildRepository.GetAsync(build.Id);

                Assert.That(build.State, Is.EqualTo(BuildStates.Completed));
            }
        }
示例#2
0
        public async Task TranslateAsync()
        {
            using (var env = new EngineServiceTestEnvironment())
            {
                env.EngineOptions.InactiveEngineTimeout = TimeSpan.FromHours(1);
                env.CreateEngineService();
                Engine engine = await env.CreateEngineAsync();

                EngineRuntime runtime = env.GetRuntime(engine.Id);
                await runtime.InitNewAsync();

                TranslationResult result = await runtime.TranslateAsync("esto es una prueba .".Split());

                Assert.That(result.TargetSegment, Is.EqualTo("this is a test .".Split()));
            }
        }
示例#3
0
        public async Task CommitAsync_LoadedActive()
        {
            using (var env = new EngineServiceTestEnvironment())
            {
                env.EngineOptions.InactiveEngineTimeout = TimeSpan.FromHours(1);
                env.CreateEngineService();
                Engine engine = await env.CreateEngineAsync();

                EngineRuntime runtime = env.GetRuntime(engine.Id);
                await runtime.InitNewAsync();

                await runtime.TrainSegmentPairAsync("esto es una prueba .".Split(), "this is a test .".Split());

                await runtime.CommitAsync();

                env.SmtModel.Received().Save();
                Assert.That(runtime.IsLoaded, Is.True);
            }
        }
示例#4
0
        public async Task StartBuildAsync_BatchTrainerCalled()
        {
            using (var env = new EngineServiceTestEnvironment())
            {
                env.CreateEngineService();
                Engine engine = await env.CreateEngineAsync();

                EngineRuntime runtime = env.GetRuntime(engine.Id);
                await runtime.InitNewAsync();

                Build build = await runtime.StartBuildAsync();

                Assert.That(build, Is.Not.Null);
                await env.WaitForBuildToFinishAsync(build.Id);

                env.BatchTrainer.Received().Train(Arg.Any <IProgress <ProgressStatus> >(), Arg.Any <Action>());
                env.BatchTrainer.Received().Save();
                build = await env.BuildRepository.GetAsync(build.Id);

                Assert.That(build.State, Is.EqualTo(BuildStates.Completed));
            }
        }