using Microsoft.VisualStudio.TestTools.UnitTesting; using Sarand.Net.Standard.Base.Data; using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; namespace Sacs.UnitTests.Net.Standard.Base.Data { //======================================================================= [TestClass] public class SacsData_Tester { //------------------------------------------------------------------- // Data memebrs. private static Random random = new Random(); //------------------------------------------------------------------- /// Create random alphanumeric string of specified length. public static string RandomString (int length) { const string chars = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789"; return new string(Enumerable.Repeat(chars, length) .Select(s => s[random.Next(s.Length)]).ToArray()); } //------------------------------------------------------------------- [TestMethod] public void CTR_String () { for (int i = 0; i < 1000; i++) { String rawValue = RandomString(random.Next(10,21)); // Default (ASCII) encoding. Assert.AreEqual(rawValue, (String)new SacsData(rawValue)); // UniCode encoding. Assert.AreEqual(rawValue, (String)new SacsData(rawValue, Encoding.Unicode)); } } //------------------------------------------------------------------- [TestMethod] public void CTR_Copy () { for (int i = 0; i < 1000; i++) { String rawValue = RandomString(random.Next(10,21)); // Default (ASCII) encoding. Assert.AreEqual(rawValue, (String)new SacsData(new SacsData(rawValue))); // UTF-8 encoding. Assert.AreEqual(rawValue, (String)new SacsData(new SacsData(rawValue, Encoding.UTF8))); // UniCode encoding. Assert.AreEqual(rawValue, (String)new SacsData(new SacsData(rawValue, Encoding.Unicode))); } } //------------------------------------------------------------------- } //======================================================================= }