Files
Common-VS2019/SacsCoreUnitTests/Standard/Base/Data/SacsData_Tester.cs
T
2021-05-05 15:36:28 +01:00

62 lines
2.0 KiB
C#

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();
//-------------------------------------------------------------------
/// <summary>Create random alphanumeric string of specified length.</summary>
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)));
}
}
//-------------------------------------------------------------------
}
//=======================================================================
}