62 lines
2.0 KiB
C#
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)));
|
|
}
|
|
}
|
|
|
|
//-------------------------------------------------------------------
|
|
}
|
|
//=======================================================================
|
|
}
|