BusinessMgr 3.0.1.2

This commit is contained in:
Andy Howard
2025-02-26 18:43:18 +00:00
parent 9bdff0514c
commit d0b1830388
9 changed files with 386 additions and 227 deletions
@@ -72,7 +72,7 @@ namespace Sacs.UnitTests.Net.Standard.Base.Helpers
{
for (int j = 0; j < 10; j++)
{
String value = SacsRandomHelper.getRandomLengthNumber(i);
String value = SacsRandomHelper.GetRandomLengthNumber(i);
//Debug.WriteLine("Value: " + value);
Assert.IsTrue(value.Length > 0);
Assert.IsTrue(value.Length < i + 1);
@@ -1,4 +1,5 @@
using System;
using System.Linq;
using System.Text.RegularExpressions;
using Microsoft.VisualStudio.TestTools.UnitTesting;
using Sarand.Net.Standard.Base.Utils;
@@ -47,32 +48,16 @@ namespace Sarand.UnitTests.Core.Base.Utils
//-------------------------------------------------------------------
// Regular Expression Matching.
//-------------------------------------------------------------------
[TestMethod]
public void StringUtil_Match()
{
// Match.
Assert.AreEqual(true, "ABCDEF".Match("CDE"));
Assert.AreEqual(true, "ABCDEF".MatchCI("cDe"));
Assert.AreEqual(true, "ABCDEF".Match("CDE", System.Text.RegularExpressions.RegexOptions.None));
Assert.AreEqual(true, "ABCDEF".Match(new Regex("CDE", System.Text.RegularExpressions.RegexOptions.None)));
Assert.AreEqual(true, "ABCDEF".Match(new Regex("cDe", System.Text.RegularExpressions.RegexOptions.IgnoreCase)));
// Match with escaped content.
Assert.AreEqual(true, "ABC\\sDEF".Match("\\\\s"));
Assert.AreEqual(true, "AB(CD)EF".Match("(..)"));
Assert.AreEqual(true, "AB(CD)EF".Match("\\(CD\\)"));
// Not match.
Assert.AreEqual(false, "ABCDEF".Match("cDe"));
Assert.AreEqual(false, "ABCDEF".MatchCI("eFg"));
Assert.AreEqual(false, "ABCDEF".Match("cDe", System.Text.RegularExpressions.RegexOptions.None));
Assert.AreEqual(false, "ABCDEF".Match(new Regex("cDe", System.Text.RegularExpressions.RegexOptions.None)));
}
[TestMethod]
public void StringUtil_IsMatch()
{
// IsMatch.
Assert.AreEqual(true, "ABCDEF".IsMatch("ABCDEF"));
Assert.AreEqual(true, "ABCDEF".IsMatch("^ABCDEF$"));
Assert.AreEqual(true, "ABCDEF".IsMatchCI("AbCdEf"));
Assert.AreEqual(true, "ABCDEF".IsMatchCI("^AbCdEf$"));
Assert.AreEqual(true, "ABCDEF".IsMatch("^ABC"));
Assert.AreEqual(true, "ABCDEF".IsMatchCI("AbC"));
Assert.AreEqual(true, "ABCDEF".IsMatch("CDE"));
Assert.AreEqual(true, "ABCDEF".IsMatchCI("cDe"));
Assert.AreEqual(true, "ABCDEF".IsMatch("CDE", System.Text.RegularExpressions.RegexOptions.None));
@@ -91,12 +76,63 @@ namespace Sarand.UnitTests.Core.Base.Utils
Assert.AreEqual(false, "ABCDEF".IsMatch(new Regex("cDe", System.Text.RegularExpressions.RegexOptions.None)));
}
[TestMethod]
public void StringUtil_Match()
{
// Match.
Assert.AreEqual("CDE", "ABCDEF".GetMatch("CDE"));
Assert.AreEqual("CDE", "ABCDEF".GetMatchCI("cDe"));
Assert.AreEqual("CDE", "ABCDEF".Match("CDE", System.Text.RegularExpressions.RegexOptions.None).Value);
Assert.AreEqual("CDE", "ABCDEF".Match(new Regex("CDE", System.Text.RegularExpressions.RegexOptions.None)).Value);
Assert.AreEqual("CDE", "ABCDEF".Match(new Regex("cDe", System.Text.RegularExpressions.RegexOptions.IgnoreCase)).Value);
// Match with escaped content.
Assert.AreEqual(" ", "ABC DEF".GetMatch("\\s"));
Assert.AreEqual("\\s", "ABC\\sDEF".GetMatch("\\\\s"));
Assert.AreEqual("AB", "AB(CD)EF".GetMatch("(..)"));
Assert.AreEqual("(CD)", "AB(CD)EF".GetMatch("\\(..\\)"));
Assert.AreEqual("(CD)", "AB(CD)EF".GetMatch("\\(CD\\)"));
// Not match.
Assert.AreEqual(null, "ABCDEF".GetMatch("cDe"));
Assert.AreEqual(null, "ABCDEF".GetMatch("eFg"));
Assert.AreEqual("", "ABCDEF".Match("cDe", System.Text.RegularExpressions.RegexOptions.None).Value);
Assert.AreEqual("", "ABCDEF".Match(new Regex("cDe", System.Text.RegularExpressions.RegexOptions.None)).Value);
}
[TestMethod]
public void StringUtil_Matches()
{
// Match.
Assert.AreEqual(1, "ABCDEF".GetMatches("CDE").Count);
Assert.AreEqual(1, "ABCDEF".GetMatchesCI("cDe").Count);
Assert.AreEqual(1, "ABCDEF".Matches("CDE", System.Text.RegularExpressions.RegexOptions.None).Count);
Assert.AreEqual(1, "ABCDEF".Matches(new Regex("CDE", System.Text.RegularExpressions.RegexOptions.None)).Count);
Assert.AreEqual(1, "ABCDEF".Matches(new Regex("cDe", System.Text.RegularExpressions.RegexOptions.IgnoreCase)).Count);
// Match with escaped content.
Assert.AreEqual(1, "ABC DEF".GetMatchesCI("\\s").Count);
Assert.AreEqual(1, "ABC\\sDEF".GetMatchesCI("\\\\s").Count);
Assert.AreEqual(4, "AB(CD)EF".GetMatchesCI("(..)").Count);
Assert.AreEqual("D)", "AB(CD)EF".GetMatchesCI("(..)")[2]);
Assert.AreEqual(1, "AB(CD)EF".GetMatchesCI("\\(..\\)").Count);
Assert.AreEqual(1, "AB(CD)EF".GetMatchesCI("\\(CD\\)").Count);
// Not match.
Assert.AreEqual(0, "ABCDEF".GetMatches("cDe").Count);
Assert.AreEqual(0, "ABCDEF".GetMatches("eFg").Count);
Assert.AreEqual(0, "ABCDEF".Matches("cDe", System.Text.RegularExpressions.RegexOptions.None).Count);
Assert.AreEqual(0, "ABCDEF".Matches(new Regex("cDe", System.Text.RegularExpressions.RegexOptions.None)).Count);
}
[TestMethod]
public void StringUtil_MatchCount()
{
// Match.
Assert.AreEqual(1, "ABCDEF".MatchCount(new Regex("CDE")));
Assert.AreEqual(2, "ABCDEFGHICDEJKL".MatchCount(new Regex("CDE")));
Assert.AreEqual(1, "ABCDEF".GetMatchCount("CDE"));
Assert.AreEqual(1, "ABCDEF".MatchesCount(new Regex("CDE")));
Assert.AreEqual(2, "ABCDEFGHICDEJKL".GetMatchCount("CDE"));
Assert.AreEqual(2, "ABCDEFGHICDEJKL".MatchesCount(new Regex("CDE")));
}
//-------------------------------------------------------------------
@@ -120,7 +156,7 @@ namespace Sarand.UnitTests.Core.Base.Utils
Assert.AreEqual("00123", "123".PadLeft(5, '0'));
}
[TestMethod]
public void StringUtil_PadRight ()
public void StringUtil_PadRight()
{
// Leading spaces.
Assert.AreEqual(" ", "".PadRight(3, ' '));
@@ -142,7 +178,7 @@ namespace Sarand.UnitTests.Core.Base.Utils
// S u b S t r i n g
//-------------------------------------------------------------------
[TestMethod]
public void StringUtil_SubstringSafe ()
public void StringUtil_SubstringSafe()
{
Assert.AreEqual(StringUtil.SubstringSafe(null, 0), "");
Assert.AreEqual(StringUtil.SubstringSafe("", 0), "");