package edu.stanford.rsl.conrad.geometry.transforms.test; import org.junit.Test; import edu.stanford.rsl.conrad.geometry.shapes.simple.PointND; import edu.stanford.rsl.conrad.geometry.transforms.Translation; import edu.stanford.rsl.conrad.numerics.SimpleOperators; import edu.stanford.rsl.conrad.numerics.SimpleVector; import edu.stanford.rsl.conrad.utils.TestingTools; /** * Class to test the accuracy of the {@link Translation} class * * @see Translation * @author Rotimi X Ojo */ public class TestTranslation { @Test public void main(){ System.out.println("Testing Tanslation class"); SimpleVector translator = TestingTools.randVector(3); SimpleVector oldDir = TestingTools.randVector(3); Translation trans = new Translation(translator); //Transform direction SimpleVector newDir = trans.transform(oldDir); assert(SimpleOperators.equalElementWise(oldDir,newDir,0)); //Transform point PointND oldPoint = new PointND(oldDir); PointND newP = trans.transform(oldPoint); assert(SimpleOperators.equalElementWise(trans.transform(oldPoint).getAbstractVector(),SimpleOperators.add(oldPoint.getAbstractVector(),translator),0)); //Inverse Transform Translation invTrans = trans.inverse(); //Invert new Direction assert(SimpleOperators.equalElementWise(invTrans.transform(newDir),oldDir,0)); //Invert new Point assert(SimpleOperators.equalElementWise(invTrans.transform(newP).getAbstractVector(),oldPoint.getAbstractVector(),0)); System.out.println("Testing Complete"); } } /* * Copyright (C) 2010-2014 Andreas Maier, Rotimi X Ojo * CONRAD is developed as an Open Source project under the GNU General Public License (GPL). */