public void LCMBigInteger()
    {
        var expected = new BigInteger(336);
        var actual   = Factorization.LCM(new BigInteger(42), 16L);

        Assert.Equal(expected, actual);
    }
    public void LCMInt()
    {
        var expected = 336;
        var actual   = Factorization.LCM(42, 16);

        Assert.Equal(expected, actual);
    }
    public void LCMLong()
    {
        var expected = 336;
        var actual   = Factorization.LCM(42L, 16L);

        Assert.Equal(expected, actual);
    }
 public void LCMLongArgumentOutOfRange()
 {
     Assert.Throws <ArgumentOutOfRangeException>(() => Factorization.LCM(0L, 5));
 }
 public void LCMBigIntegerArgumentOutOfRange()
 {
     Assert.Throws <ArgumentOutOfRangeException>(() => Factorization.LCM(BigInteger.Zero, 5));
 }