public static IEnumerable<object[]> UnaryMinus_TestData()
{
BigInteger largePositiveBigInt = BigInteger.Parse("123123123123123123123123123123123123123123123123123123123123123123123123123123123123123123123123");
BigInteger largeNegativeBigInt = BigInteger.Parse("-123123123123123123123123123123123123123123123123123123123123123123123123123123123123123123123123");
yield return new object[] { largePositiveBigInt, largeNegativeBigInt };
yield return new object[] { largeNegativeBigInt, largePositiveBigInt };
yield return new object[] { new BigInteger(123), new BigInteger(-123) };
yield return new object[] { new BigInteger(-123), new BigInteger(123) };
yield return new object[] { new BigInteger(0), new BigInteger(0) };
yield return new object[] { new BigInteger(-1), new BigInteger(1) };
yield return new object[] { new BigInteger(1), new BigInteger(-1) };
yield return new object[] { new BigInteger(int.MinValue), new BigInteger((uint)int.MaxValue + 1) };
yield return new object[] { new BigInteger(int.MaxValue), new BigInteger(-int.MaxValue) };
yield return new object[] { new BigInteger(long.MaxValue), new BigInteger(-long.MaxValue) };
yield return new object[] { new BigInteger(long.MinValue), new BigInteger((ulong)long.MaxValue + 1) };
}