Exemplo n.º 1
0
        public void UT_AskYN()
        {
            // test 0: Dialog = false - работаем без остановки
            var U = new UT_TSmatch._UT_MsgService();

            try { U.AskYN("text for test"); }
            catch (ArgumentException e) when(e.Message == "Msg.I: text_for_test")
            {
            };
        }
Exemplo n.º 2
0
        public void UT_F()
        {
            // test 0: перехват Exception Msg.F
            var U = new UT_TSmatch._UT_MsgService();

            U.FF()
            U.Msg_W("text for test");
            Assert.AreEqual("text_for_test", U.GetMsg());

            // test 1: message should be modal -- должен спрашивать [OK?]
            // --!!-- этот тест закомментирован. Открывать комментарии только для проверки Msg.W вручную
            //Msg.Dialog = true;
            //Msg.W("Should be modal");
        }
Exemplo n.º 3
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);
        }
Exemplo n.º 4
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());
        }
Exemplo n.º 5
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());
        }
Exemplo n.º 6
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);
        }