1 /* 2 * RandomSimulator_Test.java 3 * 4 * Created on July 24, 2007, 11:35 AM 5 * 6 * $Id: RandomSimulator_Test.java,v 1.1.1.1 2010/04/08 20:38:00 jeremy Exp $ 7 */ 8 9 package org.lcsim.recon.tracking.trfutil; 10 11 import java.util.ArrayList; 12 import java.util.List; 13 import junit.framework.TestCase; 14 15 /** 16 * 17 * @author Norman Graf 18 */ 19 public class RandomSimulator_Test extends TestCase 20 { 21 private boolean debug; 22 /** Creates a new instance of RandomSimulator_Test */ 23 public void testRandomSimulator() 24 { 25 String component = "RandomSimulator"; 26 String ok_prefix = component + " (I): "; 27 String error_prefix = component + " test (E): "; 28 29 if(debug) System.out.println( ok_prefix 30 + "---------- Testing component " + component 31 + ". ----------" ); 32 33 //******************************************************************** 34 35 if(debug) System.out.println( ok_prefix + "Construct generators and simulator." ); 36 double min = 2.0; 37 double max = 5.0; 38 long seed1 = 246813579L; 39 long seed2 = 987654321L; 40 long seed3 = 135724689L; 41 RandomGeneratorTest rgen1 = new RandomGeneratorTest(min,max,seed1); 42 RandomGeneratorTest rgen2 = new RandomGeneratorTest(min,max,seed2); 43 RandomGeneratorTest rgen3 = new RandomGeneratorTest(min,max,seed3); 44 if(debug) System.out.println( "Generators:" ); 45 if(debug) System.out.println( rgen1 ); 46 if(debug) System.out.println( rgen2 ); 47 if(debug) System.out.println( rgen3 ); 48 RandomSimulatorTest rsim = new RandomSimulatorTest(rgen1,rgen2,rgen3); 49 if(debug) System.out.println( "Simulator:" ); 50 if(debug) System.out.println( rsim ); 51 // save initial values 52 List values0 = new ArrayList(); 53 values0.add( new Double( rgen1.flat()) ); 54 values0.add( new Double( rgen2.flat()) ); 55 values0.add( new Double( rgen3.flat()) ); 56 List values1 = new ArrayList(); 57 values1.add( new Double( rgen1.flat()) ); 58 values1.add( new Double( rgen2.flat()) ); 59 values1.add( new Double( rgen3.flat()) ); 60 int nval = 3; 61 Assert.assertTrue( values0.size() == nval ); 62 Assert.assertTrue( values1.size() == nval ); 63 64 //******************************************************************** 65 66 if(debug) System.out.println( ok_prefix + "Construct registry." ); 67 RandomRegistry reg = new RandomRegistry(); 68 rsim.registerGenerators(reg); 69 int rec = reg.record(); 70 71 //******************************************************************** 72 73 if(debug) System.out.println( ok_prefix + "Check initial generators." ); 74 List gens = rsim.generators(); 75 Assert.assertTrue( gens.size() == nval ); 76 List values = rsim.generate_values(); 77 int i; 78 for ( i=0; i<nval; ++i ) 79 { 80 if(debug) System.out.println( i + " " + values.get(i) + " " + values0.get(i) ); 81 if(debug) System.out.println( rsim ); 82 Assert.assertTrue( values.get(i).equals(values0.get(i)) ); 83 } 84 85 //******************************************************************** 86 87 if(debug) System.out.println( ok_prefix + "Check non-initial states." ); 88 values = rsim.generate_values(); 89 for ( i=0; i<nval; ++i ) 90 { 91 if(debug) System.out.println( i + " " + values.get(i) + " " + values0.get(i) + " " 92 + values1.get(i) ); 93 Assert.assertTrue( !values.get(i).equals(values0.get(i)) ); 94 Assert.assertTrue( values.get(i).equals(values1.get(i)) ); 95 } 96 rsim.generate_values(); 97 rsim.generate_values(); 98 rsim.generate_values(); 99 100 //******************************************************************** 101 102 if(debug) System.out.println( ok_prefix + "Check reset states." ); 103 reg.set(rec); 104 values = rsim.generate_values(); 105 for ( i=0; i<nval; ++i ) 106 { 107 if(debug) System.out.println( values.get(i) + " " + values0.get(i) ); 108 Assert.assertTrue( values.get(i).equals(values0.get(i)) ); 109 } 110 111 //******************************************************************** 112 113 if(debug) System.out.println( ok_prefix 114 + "------------- All tests passed. -------------" ); 115 116 //******************************************************************** 117 } 118 119 }