public void DoRangeTest()
{
Range<string> stringRange = RangeFactory.CreateRange(null, "cdf");
string actual = stringRange.ToString();
Assert.AreEqual("{ NULL : cdf }", actual);
Assert.IsTrue(stringRange.Contains("abc"));
Assert.IsFalse(stringRange.Contains("xyz"));
stringRange = RangeFactory.CreateRange("xyz", "abc");
actual = stringRange.ToString();
Assert.AreEqual("{ abc : xyz }", actual);
Assert.IsTrue(stringRange.Contains("abc"));
Assert.IsTrue(stringRange.Contains("cfdes"));
Assert.IsTrue(stringRange.Contains("xyz"));
Assert.IsFalse(stringRange.Contains("aa"));
Assert.IsFalse(stringRange.Contains("zz"));
ValueRange<int> intRange = RangeFactory.CreateValueRange<int>(1, null);
actual = intRange.ToString();
Assert.AreEqual("{ 1 : NULL }", actual);
Assert.IsTrue(intRange.Contains(2));
Assert.IsTrue(intRange.Contains(int.MaxValue));
Assert.IsFalse(intRange.Contains(int.MinValue));
}