Example #1
0
        public void UT_SR_RawMsg()
        {
            // -- чтобы посмотреть, как выглядит MessageBox, но с Assert.Fault по Msg.FOK(), используй
            //var U = new UT_TSmatch._UT_Msg(true);
            var U = new UT_TSmatch._UT_MsgService();
            // test 1: Msg("No model dir") -- RU
            Mod mod = new Mod();

            mod.dir = @"C:\ABCDEF";
            try { mod.sr.Raw(mod); }
            catch (Exception ex) { Assert.AreEqual("Msg.F", ex.Message); }
            Assert.AreEqual("[SavedReport.Raw]: не найден каталог модели, на который указывает\r\n            запись в TSmatchINFO.xlsx или записано в регистре Windows\r\n\r\n\"C:\\ABCDEF\"\r\n\r\nЭто сообщение возникает, когда нет файла TSmatchINFO.xlsx,\r\nи нет Tekla, чтобы его можно было создать заново.\r\nПопробуйте запустить TSmatch на машине, где есть Tekla.",
                            U.GetMsg());

            // test 2:  Msg("No model dir") -- EN
            // -- чтобы посмотреть, как выглядит MessageBox, но с Assert.Fault по Msg.FOK(), используй
            //U.SetLanguage("en", true);
            U.SetLanguage("en");
            try { mod.sr.Raw(mod); }
            catch (Exception ex) { Assert.AreEqual("Msg.F", ex.Message); }
            Assert.AreEqual("[SavedReport.Raw]:  not found model directory, pointed by\r\n     TSmatchINFO.xlsx, or written in Windows Environment\r\n\r\n\"C:\\ABCDEF\" \r\n\r\nand there is no Tekla active to read and re-create it again. \r\nPlease, try to run TSmatch on PC with Tekla.",
                            U.GetMsg());

            // test 3:  Msg("Raw_CAD_Read") -- EN
            // -- чтобы посмотреть, как выглядит MessageBox, но с Assert.Fault по Msg.FOK(), используй
            //U.SetLanguage("en", true);
            U.SetLanguage("en");
            mod.dir = @"C:\Windows";
            try { mod.sr.Raw(mod); }
            catch (Exception ex) { Assert.AreEqual("Msg.F", ex.Message); }
            Assert.AreEqual("[SavedReport.Raw]: File \"Raw.xml\" is corrupted or unavailable.\r\nWould you like to read it from CAD once again?",
                            U.GetMsg());

            // test 4:  Msg("Raw_CAD_Read") -- RU
            // -- чтобы посмотреть, как выглядит MessageBox, но с Assert.Fault по Msg.FOK(), используй
            //U.SetLanguage("ru", true);
            U.SetLanguage("ru");
            mod.dir = @"C:\Windows";
            try { mod.sr.Raw(mod); }
            catch (Exception ex) { Assert.AreEqual("Msg.F", ex.Message); }
            Assert.AreEqual("[SavedReport.Raw]: Файл \"Raw.xml\" не доступен или испорчен.\r\nВы действительно хотите получить его из САПР заново?",
                            U.GetMsg());
        }
Example #2
0
 private string sub_Str(string sLang)
 {
     U.SetLanguage(sLang);
     string result = "", prefix = "Msg.W: ";
     try { comp.Str(SType.Description); }
     catch (Exception e)
     {
         if (e.Message.IndexOf(prefix) == 0)
             result = e.Message.Substring(prefix.Length);
     }
     return result;
 }
Example #3
0
        public void UT_W_I_F()
        {
            // test 0: in_UT, not known message
            var U = new UT_TSmatch._UT_MsgService();

            U.SetLanguage("en");
            U._W("text for test");
            Assert.AreEqual("text_for_test", U.GetMsg());

            // test 1: W(str, parameters)
            U._W("Bootstrap__resError_NoFile", 3.1415);
            Assert.AreEqual("[Bootstrap.resError]: Not found TSmatch file \"3,1415\"", U.GetMsg());

            // test 2: I(str, parameters)
            U.SetLanguage("ru");
            U._I("Bootstrap__resError_NoDoc", "какой-то.doc");
            Assert.AreEqual("[Bootstrap.resError]: Нет ресурсного документа \"какой-то.doc\"", U.GetMsg());

            // test 3: F(str, parameters)
            U._F("Bootstrap__resError_Obsolete", "город");
            Assert.AreEqual("[Bootstrap.resError]: Ресурс \"город\" устарел. Пожалуйста обновите его!", U.GetMsg());
        }
Example #4
0
        public void UT_init()
        {
            // тест 0: проверяем singleton initialisation
            var U = new UT_TSmatch._UT_MsgService();

            U.SetLanguage("ru");
            int cnt = U.cnt_msgs();

            Assert.IsTrue(cnt > 10);

            // test 1: Msg.S ru not known
            string s = U.S("число {0} и {1}", 3.14, 2.7);

            Assert.AreEqual("число_3,14_и_2,7", uS(s));

            // test 2: change culture to en, known
            U.SetLanguage("en");
            s = U.S("S");
            Assert.AreEqual("Loading", s);

            // test 3: return culture to ru
            U.SetLanguage("ru");
            s = U.S("S");
            Assert.AreEqual("Гружу", s);

            //////         // test 4: after bug 29.11.17: save sLanguage in Properties.Setting
            // не разобрался как читать Properties.Settings
            // хотя это хорошо описано в http://softwareonastring.com/399/property-settings-default-considered-detrimental-to-unit-testing
            // и в https://softwareengineering.stackexchange.com/questions/275475/when-and-how-to-apply-application-settings-in-net
            //
            //////         U.SetLanguage("en");
            //////         string vv = Properties.Settings.Default.sLanguage;
            ////////         string sLang = Properties.      Settings.Default.sLanguage;
            //////         Assert.AreEqual("en-US", sLang);
            //////         U.SetLanguage("ru");
            //////         sLang = CultureInfo.CurrentCulture.Name;
            //////         Assert.AreEqual("ru-RU", sLang);
        }
Example #5
0
        public string _CheckGroups(ref Model.Model model, string sLang = "", string sev = "F")
        {
            U.SetLanguage(sLang);
            string result = "";
            string prefix = "Msg." + sev + ": [Group.CheckGroup]: ";

            try { CheckGroups(ref model); }
            catch (Exception e)
            {
                if (e.Message.IndexOf(prefix) == 0)
                {
                    result = e.Message.Substring(prefix.Length);
                }
            }
            return(result);
        }
Example #6
0
        public void UT_AskOK()
        {
            // test 0: Dialog = false - работаем без остановки
            var U = new UT_TSmatch._UT_MsgService();

            U.SetLanguage("");
            try { U.AskOK("text for test"); }
            catch (ArgumentException e) when(e.Message == "Msg.I: text_for_test")
            {
            }

            // test 1: Dialog = false - работаем без остановки; AskFOK()
            string exCode = string.Empty;

            try { U.AskFOK("text for test 2"); }
            catch (ArgumentException e) { exCode = e.Message; }
            Assert.AreEqual("Msg.I: text_for_test_2", exCode);
        }
Example #7
0
        private string sub_PriceGr(Mod mod, ElmGr gr, string sLang = "en", string sev = "F", string _prefix = "")
        {
            U.SetLanguage(sLang);
            string result = "", prefix = _prefix;

            if (string.IsNullOrEmpty(prefix))
            {
                prefix = "Msg." + sev + ": [Handler.PriceGr]: ";
            }
            try { mod.mh.PriceGr(mod, gr); }
            catch (Exception e)
            {
                if (e.Message.IndexOf(prefix) == 0)
                {
                    result = e.Message.Substring(prefix.Length);
                }
            }
            return(result);
        }
Example #8
0
        public void UT_SR_Msg()
        {
            // test 1-en: English Msg.F("Directory doesn't exist")
            U.SetLanguage("en");
            string s = sr._SetModDir(boot, 1);

            Assert.AreEqual("No \"TSmatchINFO.xlsx\" in model directory \r\nEnsure, that this file is written by TSmatch application, when Tekla is\r\n available, and then put to the Directory, which is known to TSmatch."
                            , s);

            // test 1-ru: Russian Msg.F("Directory doesn't exist")
            U.SetLanguage("ru");
            s = sr._SetModDir(boot, 1);
            Assert.AreEqual("В каталоге модели нет файла \"TSmatchINFO.xlsx\".\r\nУбедитесь, что он сохранен приложением TSmatch, когда модель\r\nдоступна в Tekla, а затем помещен в папку, известную TSmatch."
                            , s);

            // test 2-en: English Msg.F("No TSmatchINFO.xlsx")
            U.SetLanguage("en");
            s = sr._SetModDir(boot, 2);
            Assert.AreEqual("\"TSmatchINFO.xlsx\" not found\r\nin directory \"C:\\Windows\""
                            , s);

            // test 2-ru: Russian Msg.F("No TSmatchINFO.xlsx")
            U.SetLanguage("ru");
            s = sr._SetModDir(boot, 2);
            Assert.AreEqual("Отчет по модели \"TSmatchINFO.xlsx\".\r\nне обнаружен в папке \"C:\\Windows\""
                            , s);

            // test 3-en: English
            U.SetLanguage("en");
            s = sr._error();
            Assert.AreEqual("Saved model report in \"TSmatchINFO.xlsx\" is corrupted.\r\nPlease, try to write it again in TSmatch application, when model in Tecla is available."
                            , s);

            // test 3-ru: Russian
            U.SetLanguage("ru");
            s = sr._error();
            Assert.AreEqual("Испорчен файл TSmatchINFO.xlsx\r\nПопробуйте записать его заново при выходе из приложения TSmatch"
                            , s);
        }