IntegralDivisionTests.java revision 809
/*
* Copyright 2003-2005 Sun Microsystems, Inc. All Rights Reserved.
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
* under the terms of the GNU General Public License version 2 only, as
* published by the Free Software Foundation.
*
* This code is distributed in the hope that it will be useful, but WITHOUT
* ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
* FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
* version 2 for more details (a copy is included in the LICENSE file that
* accompanied this code).
*
* You should have received a copy of the GNU General Public License version
* 2 along with this work; if not, write to the Free Software Foundation,
* Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
*
* Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa Clara,
* CA 95054 USA or visit www.sun.com if you need additional information or
* have any questions.
*/
/*
* @test
* @bug 4904082 4917089 6337226
* @summary Tests that integral division and related methods return the proper result and scale.
* @author Joseph D. Darcy
* @compile -source 1.5 IntegralDivisionTests.java
* @run main IntegralDivisionTests
*/
public class IntegralDivisionTests {
static int dividetoIntegralValueTests() {
int failures = 0;
// Exact integer quotient should have the same results from
// the exact divide and dividetoIntegralValue
// Rounded results
BigDecimal [][] moreTestCases = {
};
failures++;
// BigDecimal exact = testCase[0].divide(testCase[1]);
// System.err.println("exact = " + exact + " scale = " + exact.scale());
}
}
return failures;
}
static int dividetoIntegralValueRoundedTests() {
int failures = 0;
null, // 1
};
null, // 1
};
null, // 1
null, // 2
};
null, // 1
};
null, // 1
};
return failures;
}
{
int failures = 0;
try {
} catch (ArithmeticException e) {
failures++;
}
}
failures++;
}
} else {
failures++;
}
}
}
return failures;
}
MathContext mc) {
int failures = 0;
}
return failures;
}
{
int failures = 0;
try {
} catch (ArithmeticException e) {
failures++;
}
}
failures++;
}
} else {
failures++;
}
}
return failures;
}
static int dividetoIntegralValueScalingTests() {
int failures = 0;
// 100/3 = 33 remainder 1
for(int precision: precisions) {
}
// 123000/10 = 12300 remainder 0
BigDecimal[] expected1 = {
new BigDecimal("12300"),
null,
null,
new BigDecimal("123e2"),
new BigDecimal("1230e1"),
new BigDecimal("12300"),
};
expected1[i],
}
// 123e3/10 = 123e2 remainder 0
BigDecimal[] expected2 = {
new BigDecimal("123e2"),
null,
null,
new BigDecimal("123e2"),
new BigDecimal("123e2"),
new BigDecimal("123e2"),
};
expected2[i],
}
// 123000/1e1 = 12300.0 remainder 0
BigDecimal[] expected3 = {
new BigDecimal("12300.0"),
null,
null,
new BigDecimal("123e2"),
new BigDecimal("1230e1"),
new BigDecimal("12300"),
new BigDecimal("12300.0"),
};
expected3[i],
}
return failures;
}
int failures = 0;
if (failures > 0) {
" failures while testing integral division.");
throw new RuntimeException();
}
}
}