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") { }; }
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"); }
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); }
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()); }
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()); }
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); }