public void Setup() { WeSayWordsProject.Project.RemoveCache(); _tempFolder = new TemporaryFolder(); _filePath = _tempFolder.GetTemporaryFile(); _semanticDomainFilePath = _tempFolder.GetTemporaryFile(); CreateSemanticDomainFile(); _lexEntryRepository = new LexEntryRepository(_filePath); _viewTemplate = MakeViewTemplate("en"); _task = new GatherBySemanticDomainTask(_semanticDomainFilePath, _lexEntryRepository, _viewTemplate); }
public void ParseFrenchSemanticDomainFile_Localized() { string frenchSemanticDomainFilePath = Path.GetTempFileName(); using (StreamWriter streamWriter = File.CreateText(frenchSemanticDomainFilePath)) { streamWriter.Write( @"<?xml version='1.0' encoding='utf-8'?> <semantic-domain-questions semantic-domain-type='DDP4' lang='fr'> <semantic-domain guid='I63403699-07C1-43F3-A47C-069D6E4316E5' id='1 Universe, creation'> <question>Quels sont les mots qui font référence à tout ce qu'on peut voir?</question> </semantic-domain> <semantic-domain guid='I999581C4-1611-4ACB-AE1B-5E6C1DFE6F0C' id='1.1 Sky'> <question>Quels sont les mots qui signifient le ciel?</question> <question>Quels sont les mots qui signifient l'endroit ou le pays au-delà du ciel?</question> <question>Quels sont les mots qui décrivent l'aspect du ciel?</question> <question>Quels sont les mots qui décrivent l'endroit où le ciel touche la terre?</question> <question>Quel terme général fait référence aux objets dans le ciel?</question> </semantic-domain></semantic-domain-type>"); } ViewTemplate template = MakeViewTemplate("fr"); GatherBySemanticDomainTask task = new GatherBySemanticDomainTask(frenchSemanticDomainFilePath, _lexEntryRepository, template); task.Activate(); Assert.AreEqual("L'univers physique", task.DomainNames[0]); Assert.AreEqual("Ciel", task.DomainNames[1]); Assert.AreEqual("fr", task.SemanticDomainWritingSystemId); File.Delete(frenchSemanticDomainFilePath); }
public void ParseEmptySemanticDomainFile() { string emptySemanticDomainFilePath = Path.GetTempFileName(); using (StreamWriter streamWriter = File.CreateText(emptySemanticDomainFilePath)) { streamWriter.Write(""); } GatherBySemanticDomainTask task = new GatherBySemanticDomainTask(emptySemanticDomainFilePath, _lexEntryRepository, _viewTemplate); task.Activate(); Assert.AreEqual(1, task.DomainKeys.Count); Assert.AreEqual(string.Empty, task.CurrentDomainKey); Assert.AreEqual(1, task.Questions.Count); Assert.AreEqual(string.Empty, task.CurrentQuestion); File.Delete(emptySemanticDomainFilePath); }