public void FormattedExtractionSuccessCaseTest1()
        {
            Translation expected = new Translation(
                new English("to look [sb] over",
                            "",
                            "",
                            Language.Types.phrasalVerb,
                            new List <string>()
            {
            }),

                new French("regarder",
                           "",
                           "",
                           Language.Types.undefined, new List <string>()
            {
                "examiner",
            })
                );

            string line = "to look [sb] over {C=}{E=}{T=phrasalVerb}{S=}=regarder {C=}{E=}{T=undefined}{S= examiner}";

            TranslationDirector director = new TranslationDirector();
            TranslationBuilder  translationBuilder;

            translationBuilder = new TranslationFormattedBuilder(line);
            director.Construct(translationBuilder);
            Translation actual = translationBuilder.GetResult();

            Assert.IsTrue(AreSameLanguages(expected.Languages[0], actual.Languages[0]) &&
                          AreSameLanguages(expected.Languages[1], actual.Languages[1]));
        }
        public void FormattedExtractionSuccessCaseTest2()
        {
            Translation expected = new Translation(
                new English("to carry out",
                            "",
                            "",
                            Language.Types.phrasalVerb,
                            new List <string>()
            {
            }),

                new French("effectuer",
                           "",
                           "you must carry out the instructions carefully",
                           Language.Types.undefined, new List <string>()
            {
                "réaliser", "mener", "mener à éxécution", "suivre",
            })
                );

            string line = "to carry out {C=}{E=}{T=phrasalVerb}{S=}=effectuer {C=}{E= you must carry out the instructions carefully}{T=undefined}{S= réaliser, mener, mener à éxécution, suivre }";

            TranslationDirector director = new TranslationDirector();
            TranslationBuilder  translationBuilder;

            translationBuilder = new TranslationFormattedBuilder(line);
            director.Construct(translationBuilder);
            Translation actual = translationBuilder.GetResult();

            Assert.IsTrue(AreSameLanguages(expected.Languages[0], actual.Languages[0]) &&
                          AreSameLanguages(expected.Languages[1], actual.Languages[1]));
        }
Beispiel #3
0
        private List <Translation> GetWordsFromImport(string path, Import import)
        {
            List <Translation> translations = new List <Translation>();

            try
            {
                using (StreamReader sr = new StreamReader(path))
                {
                    while (sr.Peek() >= 0)
                    {
                        String line = sr.ReadLine();

                        TranslationDirector director = new TranslationDirector();
                        TranslationBuilder  translationBuilder;
                        switch (import)
                        {
                        case Import.Formatted:
                            translationBuilder = new TranslationFormattedBuilder(line);
                            break;

                        case Import.Unformatted:
                            translationBuilder = new TranslationUnformattedBuilder(line);
                            break;

                        default:
                            throw new InvalidDataException();
                        }


                        director.Construct(translationBuilder);

                        translations.Add(translationBuilder.GetResult());
                    }
                }
            }
            catch (Exception ex)
            {
                Console.WriteLine("Could not read the file");
            }
            return(translations);
        }