Files
2012-09-24 20:55:07 +02:00

141 lines
4.1 KiB
C#

/*
* Created by SharpDevelop.
* User: SG0894652
* Date: 8/10/2009
* Time: 9:20 PM
*
* To change this template use Tools | Options | Coding | Edit Standard Headers.
*/
using System;
using System.Collections.Generic;
using NUnit.Framework;
using DelphiProjectHandler.Dialogs;
namespace DelphiProjectHandler.Tests.Utils
{
[TestFixture]
public class StringListUtilsTests
{
#region (Test methods)
protected void CompareLists(IList<string> iActual, IList<string> iExpected, string iErrorMsg)
{
Assert.AreEqual(iExpected.Count, iActual.Count, "Different no. of items returned.");
for (int vItemIdx = 0; vItemIdx < iActual.Count; vItemIdx++)
Assert.AreEqual(iExpected[vItemIdx], iActual[vItemIdx], "Different items found. Item: " + vItemIdx.ToString() + ". " + iErrorMsg);
}
protected void TestRemoveEmpty(IList<string> iStrings, IList<string> iExpected, string iErrorMsg)
{
IList<string> vActual = StringListUtils.RemoveEmpty(iStrings);
CompareLists(vActual, iExpected, iErrorMsg);
}
protected void TestToLower(IList<string> iStrings, IList<string> iExpected, string iErrorMsg)
{
IList<string> vActual = StringListUtils.ToLower(iStrings);
CompareLists(vActual, iExpected, iErrorMsg);
}
protected void TestToUpper(IList<string> iStrings, IList<string> iExpected, string iErrorMsg)
{
IList<string> vActual = StringListUtils.ToUpper(iStrings);
CompareLists(vActual, iExpected, iErrorMsg);
}
protected void TestRemoveDuplicates(IList<string> iStrings, IList<string> iExpected, string iErrorMsg)
{
IList<string> vActual = StringListUtils.RemoveDuplicates(iStrings);
CompareLists(vActual, iExpected, iErrorMsg);
}
protected void TestNormalize(IList<string> iStrings, IList<string> iExpected, string iErrorMsg)
{
IList<string> vActual = StringListUtils.Normalize(iStrings);
CompareLists(vActual, iExpected, iErrorMsg);
}
protected void TestSort(IList<string> iStrings, IList<string> iExpected, bool iAscending, bool iIgnoreCase, string iErrorMsg)
{
IList<string> vActual = StringListUtils.Sort(iStrings, iAscending, iIgnoreCase);
CompareLists(vActual, iExpected, iErrorMsg);
}
#endregion
[Test]
public void RemoveEmpty()
{
TestRemoveEmpty(
new string[] {"", "1", " ", "2", " ", "3 ", null, "4", null, "5"},
new string[] {"1", "2", "3 ", "4", "5"}, "Test 1"
);
}
[Test]
public void ToLower()
{
TestToLower(
new string[] {"ABC", null, "DeF", "", "ghi"},
new string[] {"abc", null, "def", "", "ghi"}, "Test 1"
);
}
[Test]
public void ToUpper()
{
TestToUpper(
new string[] {"ABC", null, "DeF", "", "ghi"},
new string[] {"ABC", null, "DEF", "", "GHI"}, "Test 1"
);
}
[Test]
public void Normalize()
{
TestNormalize(
new string[] {"ABC", null, "DeF", "", "ghi", "abc", "def", "", "ghi", null},
new string[] {"abc", "def", "ghi"}, "Test 1"
);
}
[Test]
public void RemoveDuplicates()
{
TestRemoveDuplicates(
new string[] {"123", "234", "345", "abc", "def", "ghi", "123", "234", "345", "abc", "def", "ghi", "123", "234", "345", "abc", "def", "ghi", null, null},
new string[] {"123", "234", "345", "abc", "def", "ghi", null}, "Test 2");
}
[Test]
public void Sort()
{
TestSort(
new string[] {"g", "f", "e", "d", "c", "b", "a", "G", "F", "E", "D", "C", "B", "A"},
new string[] {"A", "a", "b", "B", "C", "c", "D", "d", "E", "e", "f", "F", "g", "G"},
true, true, "Test 1"
);
TestSort(
new string[] {"A", "a", "B", "b", "C", "c", "D", "d", "E", "e", "F", "f", "G", "g"},
new string[] {"G", "g", "F", "f", "E", "e", "d", "D", "C", "c", "B", "b", "A", "a"},
false, true, "Test 2"
);
TestSort(
new string[] {"g", "f", "e", "d", "c", "b", "a", "G", "F", "E", "D", "C", "B", "A"},
new string[] {"a", "A", "b", "B", "c", "C", "d", "D", "e", "E", "f", "F", "g", "G"},
true, false, "Test 3"
);
TestSort(
new string[] {"A", "a", "B", "b", "C", "c", "D", "d", "E", "e", "F", "f", "G", "g"},
new string[] {"G", "g", "F", "f", "E", "e", "D", "d", "C", "c", "B", "b", "A", "a"},
false, false, "Test 4"
);
}
}
}