View Javadoc

1   /*
2    * CrossStat_t.java
3    *
4    * Created on July 24, 2007, 11:48 AM
5    *
6    * $Id: CrossStat_Test.java,v 1.1.1.1 2010/04/08 20:38:00 jeremy Exp $
7    */
8   
9   package org.lcsim.recon.tracking.trfbase;
10  
11  import junit.framework.TestCase;
12  import org.lcsim.recon.tracking.trfutil.Assert;
13  
14  /**
15   *
16   * @author Norman Graf
17   */
18  public class CrossStat_Test extends TestCase
19  {
20      private boolean debug;
21      //**********************************************************************
22      
23      // Routine to check crossing status.
24      static boolean check_xs(CrossStat xstat, boolean at, boolean on,
25              boolean inside, boolean outside, boolean inb, boolean outb)
26      {
27          boolean bad = false;
28          if ( xstat.at() != at ) return bad;
29          if ( xstat.on() != on ) return bad;
30          if ( xstat.inside() != inside ) return bad;
31          if ( xstat.outside() != outside ) return bad;
32          if ( xstat.inBounds() != inb ) return bad;
33          if ( xstat.outOfBounds() != outb ) return bad;
34          return ! bad;
35      }    
36      /** Creates a new instance of CrossStat_t */
37      public void testCrossStat()
38      {
39          String ok_prefix = "CrossStat test (I): ";
40          String error_prefix = "CrossStat test (E): ";
41          
42          if(debug) System.out.println( ok_prefix
43                  + "------- Testing component CrossStat. -------" );
44          
45          //********************************************************************
46          
47          if(debug) System.out.println( ok_prefix + "Testing pure constructor.\n");
48          
49          CrossStat xstat1 = new CrossStat(PureStat.AT);
50          if(debug) System.out.println( xstat1 );
51          Assert.assertTrue( check_xs(xstat1, true, true, false, false, false, false) );
52          
53          CrossStat xstat2 = new CrossStat(PureStat.ON);
54          if(debug) System.out.println( xstat2 );
55          Assert.assertTrue( check_xs(xstat2, false, true, false, false, false, false) );
56          CrossStat xstat3 = new CrossStat(PureStat.INSIDE);
57          if(debug) System.out.println( xstat3 );
58          Assert.assertTrue( check_xs(xstat3, false, false, true, false, false, false) );
59          CrossStat xstat4 = new CrossStat(PureStat.OUTSIDE);
60          if(debug) System.out.println( xstat4 );
61          Assert.assertTrue( check_xs(xstat4, false, false, false, true, false, false) );
62          
63          //********************************************************************
64          
65          if(debug) System.out.println( ok_prefix + "Testing bound constructor.\n");
66          CrossStat xstat5 = new CrossStat(BoundedStat.UNDEFINED_BOUNDS);
67          if(debug) System.out.println( xstat5 );
68          Assert.assertTrue( check_xs(xstat5, true, true, false, false, false, false) );
69          CrossStat xstat6 = new CrossStat(BoundedStat.IN_BOUNDS);
70          if(debug) System.out.println( xstat6 );
71          Assert.assertTrue( check_xs(xstat6, true, true, false, false, true, false) );
72          CrossStat xstat7 = new CrossStat(BoundedStat.OUT_OF_BOUNDS);
73          if(debug) System.out.println( xstat7 );
74          Assert.assertTrue( check_xs(xstat7, true, true, false, false, false, true) );
75          CrossStat xstat8 = new CrossStat(BoundedStat.BOTH_BOUNDS);
76          if(debug) System.out.println( xstat8 );
77          Assert.assertTrue( check_xs(xstat8, true, true, false, false, true, true) );
78          
79          //********************************************************************
80          
81          if(debug) System.out.println( ok_prefix + "Check parameters." );
82          Assert.assertTrue( xstat1.nSigma() == 5.0 );
83          Assert.assertTrue( xstat2.precision() == 1.e-14 );
84          
85          //********************************************************************
86          
87          if(debug) System.out.println( ok_prefix + "Check boundsChecked method." );
88          Assert.assertTrue( ! xstat1.boundsChecked() );
89          Assert.assertTrue( ! xstat2.boundsChecked() );
90          Assert.assertTrue( ! xstat3.boundsChecked() );
91          Assert.assertTrue( ! xstat4.boundsChecked() );
92          Assert.assertTrue( ! xstat5.boundsChecked() );
93          Assert.assertTrue( xstat6.boundsChecked() );
94          Assert.assertTrue( xstat7.boundsChecked() );
95          Assert.assertTrue( xstat8.boundsChecked() );
96          
97          //********************************************************************
98          
99          if(debug) System.out.println( ok_prefix + "Check assignment." );
100         xstat3 = xstat8;
101         Assert.assertTrue( check_xs(xstat3, true, true, false, false, true, true) );
102         
103         //********************************************************************
104         
105         if(debug) System.out.println( ok_prefix
106                 + "------------- All tests passed. -------------" );
107         
108         //********************************************************************  
109     }
110     
111 }