4 * Copyright 2011 Codist Monk.
6 * Permission is hereby granted, free of charge, to any person obtaining a copy
7 * of this software and associated documentation files (the "Software"), to deal
8 * in the Software without restriction, including without limitation the rights
9 * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
10 * copies of the Software, and to permit persons to whom the Software is
11 * furnished to do so, subject to the following conditions:
13 * The above copyright notice and this permission notice shall be included in
14 * all copies or substantial portions of the Software.
16 * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
17 * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
18 * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
19 * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
20 * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
21 * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
25 package net
.sourceforge
.aprog
.tools
;
27 import static org
.junit
.Assert
.*;
29 import org
.junit
.Test
;
32 * Automated tests using JUnit for {@link MathTools}.
34 * @author codistmonk (creation 2011-09-02)
36 public final class MathToolsTest
{
38 // TODO add more tests
41 public final void testGcd() {
42 assertEquals(4L, MathTools
.gcd(8L, 12L));
46 public final void testLcm() {
47 assertEquals(24L, MathTools
.lcm(6L, 8L));
51 public final void testFactorial() {
52 assertEquals(6L, MathTools
.factorial(3L));
56 public final void testNPk() {
57 assertEquals(12L, MathTools
.nPk(4L, 2L));
61 public void testMultichoose() {
62 assertEquals(126L, MathTools
.multichoose(5L, 5L));
66 public final void testNCk() {
67 assertEquals(1L, MathTools
.nCk(0L, 0L));
68 assertEquals(1L, MathTools
.nCk(4L, 0L));
69 assertEquals(6L, MathTools
.nCk(4L, 2L));
70 assertEquals(1L, MathTools
.nCk(4L, 4L));