public void TestCompareTypeTo()
{
BsonValue[] values =
{
BsonMinKey.Value,
BsonNull.Value,
new BsonInt32(0),
BsonString.Empty,
new BsonDocument(),
new BsonArray(),
new BsonBinaryData(new byte[] { 1 }),
ObjectId.GenerateNewId(),
BsonBoolean.False,
new BsonDateTime(DateTime.UtcNow),
new BsonRegularExpression("pattern")
};
for (int i = 0; i < values.Length - 2; i++)
{
Assert.AreEqual(-1, values[i].CompareTypeTo(values[i + 1]));
Assert.AreEqual(1, values[i + 1].CompareTypeTo(values[i]));
Assert.IsTrue(values[i] < values[i + 1]);
Assert.IsTrue(values[i] <= values[i + 1]);
Assert.IsTrue(values[i] != values[i + 1]);
Assert.IsFalse(values[i] == values[i + 1]);
Assert.IsFalse(values[i] > values[i + 1]);
Assert.IsFalse(values[i] >= values[i + 1]);
Assert.AreEqual(1, values[i].CompareTypeTo(null));
}
}