public void MultiplyCheckedLong()
{
// Positive
Assert.Equal(100000L, Math2.MultiplyChecked(50000L, 2));
Assert.Equal(2000000000L, Math2.MultiplyChecked(1000000000L, 2));
Assert.Equal(4000000000L, Math2.MultiplyChecked(2000000000L, 2));
Assert.Equal(long.MaxValue, Math2.MultiplyChecked(5000000000000000000, 2));
// Negative
Assert.Equal(-100000L, Math2.MultiplyChecked(-50000, 2));
Assert.Equal(-2000000000L, Math2.MultiplyChecked(-1000000000L, 2));
Assert.Equal(-4000000000L, Math2.MultiplyChecked(-2000000000L, 2));
Assert.Equal(long.MinValue, Math2.MultiplyChecked(-5000000000000000000, 2));
}
}