[TestCase("TestDataLangs.xml", "en", "английский")] // верно ли задан атрибут?
        public void LangByKey_ValidXmlResponse_WorksCorrectly(string testDataFile, string key, string expect)
        {
            ITranslateAPI fakeYandexAPI = Substitute.For <ITranslateAPI>();
            string        responseLangs = File.ReadAllText(testDataFile);

            fakeYandexAPI.GetLangs(Arg.Any <string>(), Arg.Any <string>()).Returns(responseLangs);

            ITranslatorModel model = new TranslatorModel("api_key", "ui", fakeYandexAPI);

            var l = model.LangByKey(key);

            Assert.AreEqual(l.Value, expect);
        }
Ejemplo n.º 2
0
        public TranslatorViewModel()
        {
            Model                  = new TranslatorModel();
            GitHubCommand          = new RelayCommand(GitHubAction);
            SwitchLanguagesCommand = new RelayCommand(SwitchLanguagesAction);

            var workArea = SystemParameters.WorkArea;

            ScreenWidth  = workArea.Right;
            ScreenHeight = workArea.Bottom;
            //Initialize();
            Languages = Model.GetAllLanguages();
        }
        public void LangsProperty_ValidXmlResponse_ContainsSomething(string testDataFile)
        {
            ITranslateAPI fakeYandexAPI = Substitute.For <ITranslateAPI>();
            string        responseLangs = File.ReadAllText(testDataFile);

            fakeYandexAPI.GetLangs(Arg.Any <string>(), Arg.Any <string>()).Returns(responseLangs);

            ITranslatorModel model = new TranslatorModel("api_key", "ui", fakeYandexAPI);

            var langs = model.Langs;

            Assert.IsTrue(model.Langs.Count > 0);
        }
        public void LangsProperty_ErrorXmlResponse_ThrowsExWithErrorMessage(string testDataFile)
        {
            ITranslateAPI fakeYandexAPI = Substitute.For <ITranslateAPI>();
            XmlDocument   doc           = new XmlDocument();
            string        responseLangs = File.ReadAllText(testDataFile);

            doc.LoadXml(responseLangs);

            fakeYandexAPI.GetLangs(Arg.Any <string>(), Arg.Any <string>()).Returns(responseLangs);

            ITranslatorModel model = new TranslatorModel("api_key", "ui", fakeYandexAPI);

            Exception ex = Assert.Catch <Exception>(() => model.Langs.ToString());
            string    expectedMessage = doc.LastChild.Attributes["message"].Value;

            StringAssert.Contains(expectedMessage, ex.Message);
        }
        public void DetectLang_ValidXmlResponse_WorksCorrectly(
            string text,
            string testDataFile,
            string testDataLangsFile,
            string expect)
        {
            ITranslateAPI fakeYandexAPI  = Substitute.For <ITranslateAPI>();
            string        responseLangs  = File.ReadAllText(testDataLangsFile);
            string        responseDetect = File.ReadAllText(testDataFile);

            fakeYandexAPI.GetLangs(Arg.Any <string>(), Arg.Any <string>()).Returns(responseLangs);
            fakeYandexAPI.Detect(Arg.Any <string>(), text).Returns(responseDetect);

            ITranslatorModel model = new TranslatorModel("api_key", "ui", fakeYandexAPI);

            string actual = model.DetectLang(text).Key;

            Assert.AreEqual(expect, actual);
        }
Ejemplo n.º 6
0
        public async Task <JsonResult> EditTranslator(TranslatorModel vm)
        {
            try
            {
                bool isValidCulturesList = await Cultures.IsValidCulturesListAsync(vm.Cultures, _translationService);

                if (!isValidCulturesList)
                {
                    return(Json(new GenericResponse(false, AppResources.InvalidCultureList)));
                }

                var user = vm.ToUser();
                await _translationService.UpdateUserAsync(user);
            }
            catch (Exception ex)
            {
                Trace.TraceError(ex.ToString());
                return(Json(new GenericResponse(false, ex.Message)));
            }

            return(Json(new GenericResponse(true, AppResources.GenericSaveSuccess)));
        }
Ejemplo n.º 7
0
        public async Task <JsonResult> CreateNewTranslator(TranslatorModel vm)
        {
            try
            {
                bool isValidCulturesList = await Cultures.IsValidCulturesListAsync(vm.Cultures, _translationService);

                if (!isValidCulturesList)
                {
                    return(Json(new GenericResponse(false, AppResources.InvalidCultureList)));
                }

                var user = vm.ToNewUser();

                await _translationService.CreateUserAsync(user,
                                                          MailTemplates.NewUserSubjectFormat, MailTemplates.NewUserBodyFormat, ApplicationInformation.Current.GetSiteBaseUrl(this));
            }
            catch (Exception ex)
            {
                Trace.TraceError(ex.ToString());
                return(Json(new GenericResponse(false, ex.Message)));
            }

            return(Json(new GenericResponse(true, AppResources.GenericSaveSuccess)));
        }
        public void Translate_ValidXmlResponse_WorksCorrectly(
            string text,
            string sourceLang,
            string testDataFile,
            string testDetectDataFile,
            string testDataLangsFile,
            string expect)
        {
            ITranslateAPI fakeYandexAPI     = Substitute.For <ITranslateAPI>();
            string        responseLangs     = File.ReadAllText(testDataLangsFile);
            string        responseTranslate = File.ReadAllText(testDataFile);
            string        responseDetect    = File.ReadAllText(testDetectDataFile);

            fakeYandexAPI.GetLangs(Arg.Any <string>(), Arg.Any <string>()).Returns(responseLangs);
            fakeYandexAPI.Detect(Arg.Any <string>(), text).Returns(responseDetect);
            fakeYandexAPI.Translate(Arg.Any <string>(), text, sourceLang).Returns(responseTranslate);

            ITranslatorModel model = new TranslatorModel("api_key", "ui", fakeYandexAPI);

            model.SetTargetLang(model.LangByKey(sourceLang.Split('-')[1]));
            string actual = model.Translate(text);

            Assert.AreEqual(expect, actual, "Model.Translate() works.");
        }
Ejemplo n.º 9
0
 public TranslatorViewModel()
 {
     TranslatorData = new TranslatorModel();
     setupCommands();
 }