private static InteractiveTranslationResultDto CreateDto(HybridInteractiveTranslationResult result, IReadOnlyList <string> sourceSegment) { return(new InteractiveTranslationResultDto { WordGraph = CreateDto(result.SmtWordGraph, sourceSegment), RuleResult = CreateDto(result.RuleResult, sourceSegment) }); }
public async Task InteractiveTranslateAsync_EngineDoesNotExist() { using (var env = new EngineServiceTestEnvironment()) { env.CreateEngineService(); HybridInteractiveTranslationResult result = await env.Service.InteractiveTranslateAsync( "engine1", "Esto es una prueba .".Split()); Assert.That(result, Is.Null); } }
public async Task <IActionResult> InteractiveTranslateAsync(string locatorType, string locator, [FromBody] string[] segment) { HybridInteractiveTranslationResult result = await _engineService.InteractiveTranslateAsync( GetLocatorType(locatorType), locator, segment); if (result == null) { return(NotFound()); } return(Ok(CreateDto(result, segment))); }
public async Task InteractiveTranslateAsync_EngineExists() { using (var env = new EngineServiceTestEnvironment()) { string engineId = (await env.CreateEngineAsync("es", "en", true)).Id; env.CreateEngineService(); HybridInteractiveTranslationResult result = await env.Service.InteractiveTranslateAsync( engineId, "Esto es una prueba .".Split()); Assert.That(result.RuleResult.TargetSegment, Is.EqualTo("this is a test .".Split())); Assert.That(result.SmtWordGraph.Arcs.SelectMany(a => a.Words), Is.EqualTo("this is a test .".Split())); } }
public async Task <IActionResult> InteractiveTranslateAsync(string locatorType, string locator, [FromBody] string[] segment) { Engine engine = await _engines.GetByLocatorAsync(GetLocatorType(locatorType), locator); if (engine == null) { return(NotFound()); } if (!await AuthorizeAsync(engine, Operations.Read)) { return(StatusCode(StatusCodes.Status403Forbidden)); } HybridInteractiveTranslationResult result = await _engineService.InteractiveTranslateAsync(engine.Id, segment); if (result == null) { return(NotFound()); } return(Ok(CreateDto(result, segment))); }