public void Int128Comparison() { Int128[] orderedValues = new Int128[] { Int128.MinValue, Int64.MinValue, Int32.MinValue, -Int128.One, Int128.Zero, Int128.One, Int32.MaxValue, Int64.MaxValue, Int128.MaxValue }; for (int i = 0; i < orderedValues.Length; i++) { for (int j = 0; j < orderedValues.Length; j++) { if (i < j) { Assert.IsTrue(Int128.Compare(orderedValues[i], orderedValues[j]) == -1); Assert.IsTrue(orderedValues[i].CompareTo(orderedValues[j]) == -1); Assert.IsTrue(orderedValues[i] < orderedValues[j]); Assert.IsFalse(orderedValues[i] >= orderedValues[j]); } else if (i == j) { Assert.IsTrue(Int128.Compare(orderedValues[i], orderedValues[j]) == 0); Assert.IsTrue(orderedValues[i].CompareTo(orderedValues[j]) == 0); Assert.IsFalse(orderedValues[i] < orderedValues[j]); Assert.IsFalse(orderedValues[i] > orderedValues[j]); Assert.IsTrue(orderedValues[i] <= orderedValues[j]); } else { Assert.IsTrue(Int128.Compare(orderedValues[i], orderedValues[j]) == +1); Assert.IsTrue(orderedValues[i].CompareTo(orderedValues[j]) == +1); Assert.IsTrue(orderedValues[i] > orderedValues[j]); Assert.IsFalse(orderedValues[i] <= orderedValues[j]); } } } }