first tests with JUnit
Hi,
working out of the "beginning algorithms" book. In the book, it gives an example that doesn't compile for me in eclipse. It's the line that has the assert command in it; I double checked to make sure it was spelled correctly, etc.
here's the code.
package com.jasonwardenburg.algorithms.ch02;
publicfinalclass PowerCalculator{
publicstaticfinal PowerCalculator INSTANCE =new PowerCalculator();
private PowerCalculator(){
}
publicint calculate(int base,int exponent){
assert exponent >= 0 :"exponent can't be < 0";
int result = 1;
for (int i = 0; i < exponent; ++i){
result *= base;
}
return result;
}
}
thanks,
bp;
[1585 byte] By [
badpersona] at [2007-11-27 8:39:59]

I added a main funtion and it worked just fine.
public final class PowerCalculator {
public static final PowerCalculator INSTANCE = new PowerCalculator();
private PowerCalculator(){
}
public int calculate(int base, int exponent){
assert exponent >= 0 : "exponent can't be < 0";
int result = 1;
for (int i = 0; i < exponent; ++i){
result *= base;
}
return result;
}
public static void main(String[] args)
{
PowerCalculator pc = new PowerCalculator();
System.out.println(pc.calculate(3, 4));
}
}
How doesn't it work for you?
or better, to test it in a separate class, you have to call instance:
public class TestPowerCalc
{
public static void main(String[] args)
{
PowerCalculator pc = PowerCalculator.INSTANCE;
System.out.println(pc.calculate(1, 4));
System.out.println(pc.calculate(2, 4));
System.out.println(pc.calculate(3, 4));
System.out.println(pc.calculate(4, 4));
}
}
here's my test class:
package com.jasonwardenburg.algorithms.ch02;
import junit.framework.TestCase;
public class PowerCalculatorTest extends TestCase {
public PowerCalculatorTest(String name) {
super(name);
}
protected void setUp() throws Exception {
super.setUp();
}
protected void tearDown() throws Exception {
super.tearDown();
}
public void testAnythingRaisedToThePowerOfZeroIsOne(){
PowerCalculator calculator = PowerCalculator.INSTANCE;
assertEquals(1, calculator.calculate(0,0));
assertEquals(1, calculator.calculate(1,0));
assertEquals(1, calculator.calculate(27,0));
assertEquals(1, calculator.calculate(143,0));
}
public void testAnythingRaisedToThePowerOfOneIsItself(){
PowerCalculator calculator = PowerCalculator.INSTANCE;
assertEquals(0, calculator.calculate(0,1));
assertEquals(1, calculator.calculate(1,1));
assertEquals(27, calculator.calculate(27,1));
assertEquals(143, calculator.calculate(143,1));
}
public void testAritrary(){
PowerCalculator calculator = PowerCalculator.INSTANCE;
assertEquals(0, calculator.calculate(0,2));
assertEquals(1, calculator.calculate(1,2));
assertEquals(4, calculator.calculate(2,2));
assertEquals(8, calculator.calculate(2,3));
assertEquals(27, calculator.calculate(3,3));
}
}