public void UT_Parameter_Test() { var utp = new UT_Par("{4}"); Assert.AreEqual(utp.type, "String"); Assert.AreEqual(utp.tx, ""); Assert.AreEqual(utp.par.ToString(), "4"); utp = new UT_Par("Ab{123}cD"); Assert.AreEqual(utp.type, "String"); Assert.AreEqual((string)utp.par, "123"); Assert.AreEqual(utp.tx, "ab"); utp = new UT_Par("текст"); Assert.AreEqual(utp.type, "String"); Assert.AreEqual(utp.tx, Lib.ToLat("текст")); Assert.AreEqual((string)utp.par, utp.tx); utp = new UT_Par("x{3"); Assert.AreEqual((string)utp.par, "x{3"); Assert.AreEqual(utp.tx, (string)utp.par); utp = new UT_Par("def}fg"); Assert.AreEqual((string)utp.par, "def}fg"); Assert.AreEqual(utp.tx, (string)utp.par); utp = new UT_Par("Da{34{85}uy"); Assert.AreEqual(utp.tx, "da"); Assert.AreEqual((string)utp.par, "3485"); // поскольку внутреняя { стирается ///---- ParType test utp = new UT_Par("цена: {d~3}"); Assert.AreEqual(utp.type, "Double"); Assert.AreEqual((string)utp.par, "3"); Assert.AreEqual(parType("{2}"), "String"); Assert.AreEqual(parType("{s~2}"), "String"); Assert.AreEqual(parType("{i~4}"), "Integer"); Assert.AreEqual(parType("{d~3}"), "Double"); Assert.AreEqual(parType("{digital~3}"), "Double"); Assert.AreEqual(parType("текст{i~1}b{d~2,2}ff"), "Integer"); Assert.AreEqual(parType("другой текст"), "String"); Assert.AreEqual(parType(""), "String"); // Assert.Fail(); }
string parType(string str) { var utp = new UT_Par(str); return utp.type.ToString(); }