Files
Common-VS2019/SacsCoreUnitTests/Standard/Base/Data/SacsDataFn_Tester.cs
T

83 lines
2.2 KiB
C#

using NUnit.Framework;
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
{
[TestFixture]
public class SacsDataFn_Tester
{
// --- Data Members ---
private static Random random = new Random();
// --- Utilities ---
/// <summary>Create random alphanumeric string of specified length.</summary>
private static string RandomString (int length)
{
const string chars = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789";
return new string(Enumerable.Repeat(chars, length)
.Select(s => s[random.Next(s.Length)]).ToArray());
}
// --- Tests ---
[Test]
public void Sapphire ()
{
String encodedEncrypted = "6NP R78:P.8$2Q";
String raw = SacsDataFn._sadcs (encodedEncrypted, new SacsData("SaItemOptionMgr_Odbc"));
Assert.That(raw, Is.EqualTo("sarand"));
}
[Test]
public void Encode ()
{
// Test the Encoding algorythm.
for (int i = 0; i < 1000; i++)
{
String rawData = RandomString(random.Next(10,21));
SacsData dataEnc = SacsDataFn._saecd (new SacsData(rawData).DataBuffer);
Assert.That(dataEnc.NullTerminatedString, Is.Not.EqualTo(rawData));
SacsData dataDec = SacsDataFn._sadcd (dataEnc.DataBuffer);
Assert.That(dataDec.NullTerminatedString, Is.EqualTo(rawData));
}
}
[Test]
public void Encrypt_String ()
{
// Test the Encryption algorythm.
for (int i = 0; i < 1000; i++)
{
String rawData = RandomString(random.Next(10,21));
String dataEnc = SacsDataFn._saecs (rawData);
Assert.That(dataEnc, Is.Not.EqualTo(rawData));
String dataDec = SacsDataFn._sadcs (dataEnc);
Assert.That(dataDec, Is.EqualTo(rawData));
}
}
[Test]
public void RC4Encrypt_String ()
{
// Test the RC4 algorythm:
for (int i = 0; i < 1000; i++)
{
String rawData = RandomString(random.Next(10,21));
SacsData dataEnc = SacsDataFn.RC4 (new SacsData(rawData).DataBuffer);
Assert.That(dataEnc.NullTerminatedString, Is.Not.EqualTo(rawData));
SacsData dataDec = SacsDataFn.RC4 (dataEnc.DataBuffer);
Assert.That(dataDec.NullTerminatedString, Is.EqualTo(rawData));
}
}
// --- The End ---
}
}