/* * InductorTest.java * JUnit based test * * Created on November 1, 2003, 12:35 PM */ import junit.framework.*; /** * * @author Barry */ public class InductorTest extends TestCase { public InductorTest(java.lang.String testName) { super(testName); } public static Test suite() { TestSuite suite = new TestSuite(InductorTest.class); return suite; } /** Test 1 of 3 - computeInductance method, of class Inductor. */ public void testInductanceZeroCrossing() { System.out.println("testInductanceZeroCrossing"); Inductor ind = new Inductor( Inductor.ZERO_CROSSING ); // verify 1 second and 1 farad // L == 1 / (pi^2) = 101 mh double expected_L = 0.10132; double computed_L = ind.computeInductance(1., 1.); assertTrue( "for 1sec @ 1F expected " + expected_L + " but got " + computed_L, (expected_L*0.98 < computed_L)); assertTrue( "for 1sec @ 1F expected " + expected_L + " but got " + computed_L, (expected_L*1.02 > computed_L)); // verify typical coilgun value expected_L = 0.0010132; computed_L = ind.computeInductance(10E-3, 10E-3); assertTrue( "for 10msec @ 10,000uF expected " + expected_L + " but got " + computed_L, (expected_L*0.98 < computed_L)); assertTrue( "for 10msec @ 10,000uF expected " + expected_L + " but got " + computed_L, (expected_L*1.02 > computed_L)); } /** Test 2 of 3 - computeInductance method, of class Inductor. */ public void testInductanceFullCycle() { System.out.println("testInductanceFullCycle"); Inductor ind = new Inductor( Inductor.FULL_CYCLE ); // verify 1 second and 1 farad // L = 1 / (4 * pi^2) = 0.02533 double expected_L = 0.02533; double computed_L = ind.computeInductance(1., 1.); assertTrue( "for 1sec @ 1F expected " + expected_L + " but got " + computed_L, (expected_L*0.98 < computed_L)); assertTrue( "for 1sec @ 1F expected " + expected_L + " but got " + computed_L, (expected_L*1.02 > computed_L)); // verify typical coilgun value expected_L = 2.5330295910584442860969865802432e-4; computed_L = ind.computeInductance(10E-3, 10E-3); assertTrue( "for 10msec @ 10,000uF expected " + expected_L + " but got " + computed_L, (expected_L*0.98 < computed_L)); assertTrue( "for 10msec @ 10,000uF expected " + expected_L + " but got " + computed_L, (expected_L*1.02 > computed_L)); } /** Test 3 of 3 - computeInductance method, of class Inductor. */ public void testInductanceHalfPower() { System.out.println("testInductanceHalfPower"); Inductor ind = new Inductor( Inductor.HALF_POWER ); // verify 1 second and 1 farad // L == 4 / (pi^2) = 101 mh double expected_L = 4 * 0.10132; double computed_L = ind.computeInductance(1., 1.); assertTrue( "for 1sec @ 1F expected " + expected_L + " but got " + computed_L, (expected_L*0.98 < computed_L)); assertTrue( "for 1sec @ 1F expected " + expected_L + " but got " + computed_L, (expected_L*1.02 > computed_L)); // verify typical coilgun value expected_L = 4 * 0.0010132; computed_L = ind.computeInductance(10E-3, 10E-3); assertTrue( "for 10msec @ 10,000uF expected " + expected_L + " but got " + computed_L, (expected_L*0.98 < computed_L)); assertTrue( "for 10msec @ 10,000uF expected " + expected_L + " but got " + computed_L, (expected_L*1.02 > computed_L)); } /** Test of setInductorType method, of class Inductor. */ public void testSetInductorType() { System.out.println("testSetInductorType"); // Add your test code below by replacing the default call to fail. assertNotNull( new Inductor(Inductor.FULL_CYCLE) ); assertNotNull( new Inductor(Inductor.HALF_POWER) ); assertNotNull( new Inductor(Inductor.ZERO_CROSSING) ); } // Add test methods here, they have to start with 'test' name. // for example: // public void testHello() {} }