diff --git a/Code/Mantid/Framework/API/test/SampleEnvironmentTest.h b/Code/Mantid/Framework/API/test/SampleEnvironmentTest.h
index b44da5138327249da3dc66412349f2b8d9255f41..e5b158a4679cfe991455efc83e7f1bafabc19df0 100644
--- a/Code/Mantid/Framework/API/test/SampleEnvironmentTest.h
+++ b/Code/Mantid/Framework/API/test/SampleEnvironmentTest.h
@@ -5,7 +5,7 @@
 #include "MantidAPI/SampleEnvironment.h"
 #include "MantidGeometry/Instrument/Component.h"
 #include "MantidKernel/NeutronAtom.h"
-#include "../../Geometry/test/ComponentCreationHelpers.hh"
+#include "MantidTestHelpers/ComponentCreationHelper.h"
 
 using Mantid::API::SampleEnvironment;
 using namespace Mantid::PhysicalConstants;
diff --git a/Code/Mantid/Framework/API/test/SampleTest.h b/Code/Mantid/Framework/API/test/SampleTest.h
index ab9a341bc7d679d0a70ede794ab7a65505cf7590..a2b969d09261dc03ca3a8158203c0a61c75c0236 100644
--- a/Code/Mantid/Framework/API/test/SampleTest.h
+++ b/Code/Mantid/Framework/API/test/SampleTest.h
@@ -7,7 +7,7 @@
 #include "MantidKernel/Exception.h"
 #include "MantidAPI/SampleEnvironment.h"
 
-#include "../../Geometry/test/ComponentCreationHelpers.hh"
+#include "MantidTestHelpers/ComponentCreationHelper.h"
 
 using namespace Mantid::Kernel;
 using namespace Mantid::Geometry;
diff --git a/Code/Mantid/Framework/Algorithms/test/AlignDetectorsTest.h b/Code/Mantid/Framework/Algorithms/test/AlignDetectorsTest.h
index 090ededae7e2308f88582cd903881dc90408c9ce..685a0667e20b52cb30bf74bb7b4f068b823c04fb 100644
--- a/Code/Mantid/Framework/Algorithms/test/AlignDetectorsTest.h
+++ b/Code/Mantid/Framework/Algorithms/test/AlignDetectorsTest.h
@@ -145,9 +145,6 @@ public:
     //Retrieve Workspace
     WS = boost::dynamic_pointer_cast<EventWorkspace>(AnalysisDataService::Instance().retrieve(inputWS));
     TS_ASSERT( WS ); //workspace is loaded
-    size_t start_blocksize = WS->blocksize();
-    size_t num_events = WS->getNumberEvents();
-    double a_tof = WS->getEventList(0).getEvents()[0].tof();
 
     //Start by init'ing the algorithm
     TS_ASSERT_THROWS_NOTHING( align.initialize() );
diff --git a/Code/Mantid/Framework/Algorithms/test/ApplyTransmissionCorrectionTest.h b/Code/Mantid/Framework/Algorithms/test/ApplyTransmissionCorrectionTest.h
index f75ce0fec4968789ba8b817d0e0ab10e06e606d5..542912e4b936dfa691e2df77dccfb4f0b9f3b056 100644
--- a/Code/Mantid/Framework/Algorithms/test/ApplyTransmissionCorrectionTest.h
+++ b/Code/Mantid/Framework/Algorithms/test/ApplyTransmissionCorrectionTest.h
@@ -5,12 +5,13 @@
 #include "MantidAlgorithms/ApplyTransmissionCorrection.h"
 #include "MantidDataHandling/LoadSpice2D.h"
 #include "MantidDataHandling/MoveInstrumentComponent.h"
-#include "WorkspaceCreationHelper.hh"
+#include "MantidTestHelpers/WorkspaceCreationHelper.h"
 #include "MantidAlgorithms/SolidAngleCorrection.h"
 #include "MantidKernel/UnitFactory.h"
 
 using namespace Mantid::API;
 using namespace Mantid::Kernel;
+using namespace Mantid::DataObjects;
 
 class ApplyTransmissionCorrectionTest : public CxxTest::TestSuite
 {
@@ -71,8 +72,8 @@ public:
   {
     Mantid::Algorithms::ApplyTransmissionCorrection correction;
     const std::string transWS("trans");
-    DataObjects::Workspace2D_sptr trans_ws = WorkspaceCreationHelper::Create2DWorkspace154(1,1,1);
-    trans_ws->getAxis(0)->unit() = Kernel::UnitFactory::Instance().create("Wavelength");
+    Workspace2D_sptr trans_ws = WorkspaceCreationHelper::Create2DWorkspace154(1,1,1);
+    trans_ws->getAxis(0)->unit() = UnitFactory::Instance().create("Wavelength");
     trans_ws->dataY(0)[0] = 0.6;
     trans_ws->dataE(0)[0] = 0.02;
     Mantid::API::AnalysisDataService::Instance().addOrReplace(transWS, trans_ws);
diff --git a/Code/Mantid/Framework/Algorithms/test/BinaryOperationTest.h b/Code/Mantid/Framework/Algorithms/test/BinaryOperationTest.h
index 6b44cc5b775c6ab4e7a16ff4240b33b15ffc3739..754c57d3eb28d3931c8eb1ad573e348565460b7c 100644
--- a/Code/Mantid/Framework/Algorithms/test/BinaryOperationTest.h
+++ b/Code/Mantid/Framework/Algorithms/test/BinaryOperationTest.h
@@ -4,7 +4,7 @@
 #include <cxxtest/TestSuite.h>
 #include <cmath>
 
-#include "WorkspaceCreationHelper.hh"
+#include "MantidTestHelpers/WorkspaceCreationHelper.h"
 #include "MantidAlgorithms/BinaryOperation.h"
 #include "MantidAPI/AnalysisDataService.h"
 #include "MantidAPI/WorkspaceFactory.h"
@@ -12,8 +12,9 @@
 #include "MantidDataObjects/Workspace2D.h"
 #include "MantidDataObjects/Workspace1D.h"
 
-using namespace Mantid;
 using namespace Mantid::API;
+using namespace Mantid::Geometry;
+using namespace Mantid::DataObjects;
 
 class BinaryOpHelper : public Mantid::Algorithms::BinaryOperation
 {
@@ -40,11 +41,11 @@ public:
   
 private:
   // Overridden BinaryOperation methods
-  void performBinaryOperation(const MantidVec& lhsX, const MantidVec& lhsY, const MantidVec& lhsE,
-                              const MantidVec& rhsY, const MantidVec& rhsE, MantidVec& YOut, MantidVec& EOut)
+  void performBinaryOperation(const Mantid::MantidVec&, const Mantid::MantidVec& , const Mantid::MantidVec& ,
+                              const Mantid::MantidVec&, const Mantid::MantidVec& , Mantid::MantidVec&, Mantid::MantidVec&)
   {}
-  void performBinaryOperation(const MantidVec& lhsX, const MantidVec& lhsY, const MantidVec& lhsE,
-                              const double& rhsY, const double& rhsE, MantidVec& YOut, MantidVec& EOut)
+  void performBinaryOperation(const Mantid::MantidVec& , const Mantid::MantidVec&, const Mantid::MantidVec&,
+                              const double& , const double&, Mantid::MantidVec& , Mantid::MantidVec& )
   {}
 };
 
@@ -94,6 +95,7 @@ public:
 
   void testcheckSizeCompatibility2D2D()
   {
+    
     // Register the workspace in the data service
     Workspace2D_sptr work_in1 = WorkspaceCreationHelper::Create2DWorkspace(10,10);
     Workspace2D_sptr work_in2 = WorkspaceCreationHelper::Create2DWorkspace(20,10);
@@ -146,7 +148,7 @@ public:
       {
 	det = output->getDetector(i);
       }
-      catch(Kernel::Exception::NotFoundError&)
+      catch(Mantid::Kernel::Exception::NotFoundError&)
       {
       }
       
diff --git a/Code/Mantid/Framework/Algorithms/test/CalculateEfficiencyTest.h b/Code/Mantid/Framework/Algorithms/test/CalculateEfficiencyTest.h
index 49635985f2ded61a44007e70faab880a31e2905b..1c2903a058525fcee55a2a284ca20683f183f56d 100644
--- a/Code/Mantid/Framework/Algorithms/test/CalculateEfficiencyTest.h
+++ b/Code/Mantid/Framework/Algorithms/test/CalculateEfficiencyTest.h
@@ -6,7 +6,7 @@
 #include "MantidAlgorithms/SolidAngleCorrection.h"
 #include "MantidDataHandling/LoadSpice2D.h"
 #include "MantidDataHandling/MoveInstrumentComponent.h"
-#include "SANSInstrumentCreationHelper.h"
+#include "MantidTestHelpers/ComponentCreationHelper.h"
 
 using namespace Mantid::API;
 using namespace Mantid::Kernel;
@@ -27,9 +27,9 @@ public:
     // Set up the X bin for the monitor channels
     for ( int i=0; i<SANSInstrumentCreationHelper::nMonitors; i++ )
     {
-      MantidVec& X = ws->dataX(i);
-      MantidVec& Y = ws->dataY(i);
-      MantidVec& E = ws->dataE(i);
+      Mantid::MantidVec& X = ws->dataX(i);
+      Mantid::MantidVec& Y = ws->dataY(i);
+      Mantid::MantidVec& E = ws->dataE(i);
       X[0] = 1;
       X[1] = 2;
     }
@@ -39,9 +39,9 @@ public:
       for ( int iy=0; iy<SANSInstrumentCreationHelper::nBins; iy++)
       {
         int i = ix*SANSInstrumentCreationHelper::nBins+iy+SANSInstrumentCreationHelper::nMonitors;
-        MantidVec& X = ws->dataX(i);
-        MantidVec& Y = ws->dataY(i);
-        MantidVec& E = ws->dataE(i);
+        Mantid::MantidVec& X = ws->dataX(i);
+        Mantid::MantidVec& Y = ws->dataY(i);
+        Mantid::MantidVec& E = ws->dataE(i);
         X[0] = 1;
         X[1] = 2;
         Y[0] = 2.0;
@@ -50,7 +50,7 @@ public:
       }
     }
     // Change one of the bins so that it will be excluded for having a high signal
-    MantidVec& Y = ws->dataY(SANSInstrumentCreationHelper::nMonitors+5);
+    Mantid::MantidVec& Y = ws->dataY(SANSInstrumentCreationHelper::nMonitors+5);
     Y[0] = 202.0;
 
   }
diff --git a/Code/Mantid/Framework/Algorithms/test/CalculateTransmissionBeamSpreaderTest.h b/Code/Mantid/Framework/Algorithms/test/CalculateTransmissionBeamSpreaderTest.h
index 5ec26157772b9292d6f0bf46bbb4cb4020084dc3..61764501dae288016b886abcd3cd9dc1de3292ca 100644
--- a/Code/Mantid/Framework/Algorithms/test/CalculateTransmissionBeamSpreaderTest.h
+++ b/Code/Mantid/Framework/Algorithms/test/CalculateTransmissionBeamSpreaderTest.h
@@ -9,9 +9,10 @@
 #include "MantidAlgorithms/ConvertUnits.h"
 #include "MantidAlgorithms/CropWorkspace.h"
 #include "MantidCurveFitting/Linear.h"
-#include "SANSInstrumentCreationHelper.h"
+#include "MantidTestHelpers/ComponentCreationHelper.h"
 
 using namespace Mantid::API;
+using namespace Mantid::DataObjects;
 
 class CalculateTransmissionBeamSpreaderTest : public CxxTest::TestSuite
 {
@@ -44,28 +45,28 @@ public:
     // By default UDET=2 for the monitor, which is spectrum 1
     // Sample spreader fake. Created with Y=2, scale it to Y=10
     const std::string sample_spreader("sample_spreader_ws");
-    DataObjects::Workspace2D_sptr sample_spreaderWS = SANSInstrumentCreationHelper::createSANSInstrumentWorkspace(sample_spreader);
+    Workspace2D_sptr sample_spreaderWS = SANSInstrumentCreationHelper::createSANSInstrumentWorkspace(sample_spreader);
     sample_spreaderWS *= 5.0;
     sample_spreaderWS->dataY(1)[0] = 1.0;
     Mantid::API::AnalysisDataService::Instance().addOrReplace(sample_spreader, sample_spreaderWS);
 
     // Sample scattering fake. Scale it to Y=8
     const std::string sample_scatt("sample_scatt_ws");
-    DataObjects::Workspace2D_sptr sample_scattWS = SANSInstrumentCreationHelper::createSANSInstrumentWorkspace(sample_scatt);
+    Workspace2D_sptr sample_scattWS = SANSInstrumentCreationHelper::createSANSInstrumentWorkspace(sample_scatt);
     sample_scattWS *= 4.0;
     sample_scattWS->dataY(1)[0] = 1.0;
     Mantid::API::AnalysisDataService::Instance().addOrReplace(sample_scatt, sample_scattWS);
 
     // Empty spreader fake. Scale it to Y=6
     const std::string empty_spreader("empty_spreader_ws");
-    DataObjects::Workspace2D_sptr empty_spreaderWS = SANSInstrumentCreationHelper::createSANSInstrumentWorkspace(empty_spreader);
+    Workspace2D_sptr empty_spreaderWS = SANSInstrumentCreationHelper::createSANSInstrumentWorkspace(empty_spreader);
     empty_spreaderWS *= 3.0;
     empty_spreaderWS->dataY(1)[0] = 1.0;
     Mantid::API::AnalysisDataService::Instance().addOrReplace(empty_spreader, empty_spreaderWS);
 
     // Empty scattering fake.
     const std::string empty_scatt("empty_scatt_ws");
-    DataObjects::Workspace2D_sptr empty_scattWS = SANSInstrumentCreationHelper::createSANSInstrumentWorkspace(empty_scatt);
+    Workspace2D_sptr empty_scattWS = SANSInstrumentCreationHelper::createSANSInstrumentWorkspace(empty_scatt);
     Mantid::API::AnalysisDataService::Instance().addOrReplace(empty_scatt, empty_scattWS);
     empty_scattWS->dataY(1)[0] = 1.0;
 
diff --git a/Code/Mantid/Framework/Algorithms/test/CalculateTransmissionTest.h b/Code/Mantid/Framework/Algorithms/test/CalculateTransmissionTest.h
index 3a0600c23b135950977cf5451fc409112d6168e6..3c8eda70d82d1f7675ccac7f8759b1e8f40d696c 100644
--- a/Code/Mantid/Framework/Algorithms/test/CalculateTransmissionTest.h
+++ b/Code/Mantid/Framework/Algorithms/test/CalculateTransmissionTest.h
@@ -9,7 +9,7 @@
 #include "MantidAlgorithms/ConvertUnits.h"
 #include "MantidAlgorithms/CropWorkspace.h"
 #include "MantidCurveFitting/Linear.h"
-#include "SANSInstrumentCreationHelper.h"
+#include "MantidTestHelpers/ComponentCreationHelper.h"
 
 using namespace Mantid::API;
 
@@ -91,11 +91,11 @@ public:
 
     inputWS = "sampletransdata";
 
-    DataObjects::Workspace2D_sptr ws = SANSInstrumentCreationHelper::createSANSInstrumentWorkspace(inputWS);
+    Mantid::DataObjects::Workspace2D_sptr ws = SANSInstrumentCreationHelper::createSANSInstrumentWorkspace(inputWS);
     Mantid::API::AnalysisDataService::Instance().addOrReplace(inputWS, ws);
 
     const std::string emptyWS("directbeam_ws");
-    DataObjects::Workspace2D_sptr empty_ws = SANSInstrumentCreationHelper::createSANSInstrumentWorkspace(emptyWS);
+    Mantid::DataObjects::Workspace2D_sptr empty_ws = SANSInstrumentCreationHelper::createSANSInstrumentWorkspace(emptyWS);
 
     // According to this detector geometry, Monitor #1 is spectrum 0, and Monitor #2 is spectrum 1.
     empty_ws->dataY(0)[0] = 10.0;
diff --git a/Code/Mantid/Framework/Algorithms/test/ChainedOperatorTest.h b/Code/Mantid/Framework/Algorithms/test/ChainedOperatorTest.h
index 19d8c4b3bdf90d73587c78a7c621d77b5c550940..4a787d98e577d6c96480a2522908f148fcb1d9e3 100644
--- a/Code/Mantid/Framework/Algorithms/test/ChainedOperatorTest.h
+++ b/Code/Mantid/Framework/Algorithms/test/ChainedOperatorTest.h
@@ -4,7 +4,7 @@
 #include <cxxtest/TestSuite.h>
 #include <cmath>
 
-#include "WorkspaceCreationHelper.hh"
+#include "MantidTestHelpers/WorkspaceCreationHelper.h"
 #include "MantidAlgorithms/Plus.h"
 #include "MantidAlgorithms/Minus.h"
 #include "MantidAPI/AnalysisDataService.h"
diff --git a/Code/Mantid/Framework/Algorithms/test/CheckWorkspacesMatchTest.h b/Code/Mantid/Framework/Algorithms/test/CheckWorkspacesMatchTest.h
index 8a75c975cb5df009ea931f9eaf486e6d7dcaed2b..36b0641d64c80055e02cda606857f0151b52c7f3 100644
--- a/Code/Mantid/Framework/Algorithms/test/CheckWorkspacesMatchTest.h
+++ b/Code/Mantid/Framework/Algorithms/test/CheckWorkspacesMatchTest.h
@@ -3,7 +3,7 @@
 
 #include <cxxtest/TestSuite.h>
 
-#include "WorkspaceCreationHelper.hh"
+#include "MantidTestHelpers/WorkspaceCreationHelper.h"
 
 #include "MantidAlgorithms/CheckWorkspacesMatch.h"
 #include "MantidDataHandling/LoadRaw3.h"
diff --git a/Code/Mantid/Framework/Algorithms/test/CloneWorkspaceTest.h b/Code/Mantid/Framework/Algorithms/test/CloneWorkspaceTest.h
index 13c4eb5520bc036d28f87c04f476b44c27067e9a..ea4c5cba9975c89cadc1e060a29d050fd67dbb24 100644
--- a/Code/Mantid/Framework/Algorithms/test/CloneWorkspaceTest.h
+++ b/Code/Mantid/Framework/Algorithms/test/CloneWorkspaceTest.h
@@ -7,7 +7,7 @@
 #include "MantidDataHandling/LoadRaw3.h"
 #include "MantidDataObjects/EventWorkspace.h"
 #include "MantidAlgorithms/CheckWorkspacesMatch.h"
-#include "WorkspaceCreationHelper.hh"
+#include "MantidTestHelpers/WorkspaceCreationHelper.h"
 #include "MantidAPI/AnalysisDataService.h"
 
 using namespace Mantid;
diff --git a/Code/Mantid/Framework/Algorithms/test/CommutativeBinaryOperationTest.h b/Code/Mantid/Framework/Algorithms/test/CommutativeBinaryOperationTest.h
index 7146496f3c5e2e435dbf0d1be527de3b3ddaf5ea..a0dc94a6773f07d678f57340b7c12df147fa0bdb 100644
--- a/Code/Mantid/Framework/Algorithms/test/CommutativeBinaryOperationTest.h
+++ b/Code/Mantid/Framework/Algorithms/test/CommutativeBinaryOperationTest.h
@@ -4,7 +4,7 @@
 #include <cxxtest/TestSuite.h>
 #include <cmath>
 
-#include "WorkspaceCreationHelper.hh"
+#include "MantidTestHelpers/WorkspaceCreationHelper.h"
 #include "MantidAlgorithms/CommutativeBinaryOperation.h"
 
 using namespace Mantid;
diff --git a/Code/Mantid/Framework/Algorithms/test/ConvertFromDistributionTest.h b/Code/Mantid/Framework/Algorithms/test/ConvertFromDistributionTest.h
index 10532d490d379feb42b054af8fe932303c60110f..da926976f457ad16b83528a6c0c1c2abdad1fbe5 100644
--- a/Code/Mantid/Framework/Algorithms/test/ConvertFromDistributionTest.h
+++ b/Code/Mantid/Framework/Algorithms/test/ConvertFromDistributionTest.h
@@ -2,7 +2,7 @@
 #define CONVERTFROMDISTRIBUTIONTEST_H_
 
 #include <cxxtest/TestSuite.h>
-#include "WorkspaceCreationHelper.hh"
+#include "MantidTestHelpers/WorkspaceCreationHelper.h"
 
 #include "MantidAlgorithms/ConvertFromDistribution.h"
 #include "MantidAPI/AnalysisDataService.h"
diff --git a/Code/Mantid/Framework/Algorithms/test/ConvertSpectrumAxisTest.h b/Code/Mantid/Framework/Algorithms/test/ConvertSpectrumAxisTest.h
index 391675223f04c91f48171efc088814f2a30bd234..6413c53f55ac921e627b8d0c904cbb672f5c0a1e 100644
--- a/Code/Mantid/Framework/Algorithms/test/ConvertSpectrumAxisTest.h
+++ b/Code/Mantid/Framework/Algorithms/test/ConvertSpectrumAxisTest.h
@@ -2,7 +2,7 @@
 #define CONVERTSPECTRUMAXISTEST_H_
 
 #include <cxxtest/TestSuite.h>
-#include "WorkspaceCreationHelper.hh"
+#include "MantidTestHelpers/WorkspaceCreationHelper.h"
 
 #include "MantidAlgorithms/ConvertSpectrumAxis.h"
 #include "MantidDataHandling/LoadRaw3.h"
diff --git a/Code/Mantid/Framework/Algorithms/test/ConvertToDistributionTest.h b/Code/Mantid/Framework/Algorithms/test/ConvertToDistributionTest.h
index 034d8b2613288426c261055f6f559927b6750a62..e524f3a1b1842066499a399bdb2fa465834256a2 100644
--- a/Code/Mantid/Framework/Algorithms/test/ConvertToDistributionTest.h
+++ b/Code/Mantid/Framework/Algorithms/test/ConvertToDistributionTest.h
@@ -2,7 +2,7 @@
 #define CONVERTTODISTRIBUTIONTEST_H_
 
 #include <cxxtest/TestSuite.h>
-#include "WorkspaceCreationHelper.hh"
+#include "MantidTestHelpers/WorkspaceCreationHelper.h"
 
 #include "MantidAlgorithms/ConvertToDistribution.h"
 #include "MantidAPI/AnalysisDataService.h"
diff --git a/Code/Mantid/Framework/Algorithms/test/ConvertToHistogramTest.h b/Code/Mantid/Framework/Algorithms/test/ConvertToHistogramTest.h
index 519cb1f651b96927156bb01cbabf015e56decb75..32868af39ba72c347d20d716209d6ca9590fbadd 100644
--- a/Code/Mantid/Framework/Algorithms/test/ConvertToHistogramTest.h
+++ b/Code/Mantid/Framework/Algorithms/test/ConvertToHistogramTest.h
@@ -4,7 +4,7 @@
 #include "MantidAlgorithms/ConvertToHistogram.h"
 #include <cxxtest/TestSuite.h>
 
-#include "WorkspaceCreationHelper.hh"
+#include "MantidTestHelpers/WorkspaceCreationHelper.h"
 
 using Mantid::API::IAlgorithm_sptr;
 using Mantid::Algorithms::ConvertToHistogram;
diff --git a/Code/Mantid/Framework/Algorithms/test/ConvertToPointDataTest.h b/Code/Mantid/Framework/Algorithms/test/ConvertToPointDataTest.h
index 6d69f0254979e4f1f12edf061b830eca8ad04666..92910a345e180456dc2c835a4b703129dd528b50 100644
--- a/Code/Mantid/Framework/Algorithms/test/ConvertToPointDataTest.h
+++ b/Code/Mantid/Framework/Algorithms/test/ConvertToPointDataTest.h
@@ -4,7 +4,7 @@
 #include "MantidAlgorithms/ConvertToPointData.h"
 #include <cxxtest/TestSuite.h>
 
-#include "WorkspaceCreationHelper.hh"
+#include "MantidTestHelpers/WorkspaceCreationHelper.h"
 
 using Mantid::API::IAlgorithm_sptr;
 using Mantid::Algorithms::ConvertToPointData;
diff --git a/Code/Mantid/Framework/Algorithms/test/ConvertUnitsTest.h b/Code/Mantid/Framework/Algorithms/test/ConvertUnitsTest.h
index 9f53caa69c39f0a1c336b9887600a814307688e3..79a665897429ab1c0c2fff4831de60ba0d2ddc85 100644
--- a/Code/Mantid/Framework/Algorithms/test/ConvertUnitsTest.h
+++ b/Code/Mantid/Framework/Algorithms/test/ConvertUnitsTest.h
@@ -2,7 +2,7 @@
 #define CONVERTUNITSTEST_H_
 
 #include <cxxtest/TestSuite.h>
-#include "WorkspaceCreationHelper.hh"
+#include "MantidTestHelpers/WorkspaceCreationHelper.h"
 
 #include "MantidAlgorithms/ConvertUnits.h"
 #include "MantidKernel/PhysicalConstants.h"
diff --git a/Code/Mantid/Framework/Algorithms/test/CorrectToFileTest.h b/Code/Mantid/Framework/Algorithms/test/CorrectToFileTest.h
index 31344aca236fc169197bc34549ae309fe889e97d..59ee3564a3e1956bb45a2cef97d1bfa86236a688 100644
--- a/Code/Mantid/Framework/Algorithms/test/CorrectToFileTest.h
+++ b/Code/Mantid/Framework/Algorithms/test/CorrectToFileTest.h
@@ -8,7 +8,7 @@
 #include "MantidAlgorithms/CorrectToFile.h"
 #include "MantidDataHandling/LoadRKH.h"
 #include "MantidKernel/UnitFactory.h"
-#include "WorkspaceCreationHelper.hh"
+#include "MantidTestHelpers/WorkspaceCreationHelper.h"
 #include "Poco/Path.h"
 
 class CorrectToFileTest : public CxxTest::TestSuite
diff --git a/Code/Mantid/Framework/Algorithms/test/CropWorkspaceTest.h b/Code/Mantid/Framework/Algorithms/test/CropWorkspaceTest.h
index ba50382b7e58980e4405e0829365dd0a63e97120..6826e4d615ce9104d88b347b832a56099d0c2b3d 100644
--- a/Code/Mantid/Framework/Algorithms/test/CropWorkspaceTest.h
+++ b/Code/Mantid/Framework/Algorithms/test/CropWorkspaceTest.h
@@ -2,7 +2,7 @@
 #define CROPWORKSPACETEST_H_
 
 #include <cxxtest/TestSuite.h>
-#include "WorkspaceCreationHelper.hh"
+#include "MantidTestHelpers/WorkspaceCreationHelper.h"
 
 #include "MantidAlgorithms/CropWorkspace.h"
 #include "MantidDataObjects/Workspace2D.h"
diff --git a/Code/Mantid/Framework/Algorithms/test/CuboidGaugeVolumeAbsorptionTest.h b/Code/Mantid/Framework/Algorithms/test/CuboidGaugeVolumeAbsorptionTest.h
index 1ffec5524c0896df3b43db7a98dbce85065eb56f..686a4501f83973cb08e469739a86a8b3510e305c 100644
--- a/Code/Mantid/Framework/Algorithms/test/CuboidGaugeVolumeAbsorptionTest.h
+++ b/Code/Mantid/Framework/Algorithms/test/CuboidGaugeVolumeAbsorptionTest.h
@@ -5,7 +5,7 @@
 
 #include "MantidAlgorithms/CuboidGaugeVolumeAbsorption.h"
 #include "MantidKernel/UnitFactory.h"
-#include "WorkspaceCreationHelper.hh"
+#include "MantidTestHelpers/WorkspaceCreationHelper.h"
 
 class CuboidGaugeVolumeAbsorptionTest : public CxxTest::TestSuite
 {
diff --git a/Code/Mantid/Framework/Algorithms/test/CylinderAbsorptionTest.h b/Code/Mantid/Framework/Algorithms/test/CylinderAbsorptionTest.h
index 883b010cde4372de082a0ba19ade17edf3c04cb6..e5837442508df1102a8a5829f1f6541bf551d0ab 100644
--- a/Code/Mantid/Framework/Algorithms/test/CylinderAbsorptionTest.h
+++ b/Code/Mantid/Framework/Algorithms/test/CylinderAbsorptionTest.h
@@ -5,7 +5,7 @@
 
 #include "MantidAlgorithms/CylinderAbsorption.h"
 #include "MantidKernel/UnitFactory.h"
-#include "WorkspaceCreationHelper.hh"
+#include "MantidTestHelpers/WorkspaceCreationHelper.h"
 
 class CylinderAbsorptionTest : public CxxTest::TestSuite
 {
diff --git a/Code/Mantid/Framework/Algorithms/test/DetectorEfficiencyCorTest.h b/Code/Mantid/Framework/Algorithms/test/DetectorEfficiencyCorTest.h
index 9c992b926dce10dd5a3ca1eebc3203469a9e9075..462a6cc490f882dec9494a79768f32df7edb18a0 100644
--- a/Code/Mantid/Framework/Algorithms/test/DetectorEfficiencyCorTest.h
+++ b/Code/Mantid/Framework/Algorithms/test/DetectorEfficiencyCorTest.h
@@ -15,7 +15,7 @@
 #include "MantidGeometry/Objects/ShapeFactory.h"
 #include "MantidAPI/SpectraDetectorMap.h"
 
-#include "WorkspaceCreationHelper.hh"
+#include "MantidTestHelpers/WorkspaceCreationHelper.h"
 
 #include "Poco/DOM/DOMParser.h"
 #include "Poco/DOM/Document.h"
diff --git a/Code/Mantid/Framework/Algorithms/test/DetectorEfficiencyVariationTest.h b/Code/Mantid/Framework/Algorithms/test/DetectorEfficiencyVariationTest.h
index 5d47ff86ebe7afc69bd82a9af2d614340cbc3242..87fa7cca82834bce0ec647cf54e59296de48e26f 100644
--- a/Code/Mantid/Framework/Algorithms/test/DetectorEfficiencyVariationTest.h
+++ b/Code/Mantid/Framework/Algorithms/test/DetectorEfficiencyVariationTest.h
@@ -2,7 +2,7 @@
 #define DETECTOREFFICIENCYVARIATION_H_
 
 #include <cxxtest/TestSuite.h>
-#include "WorkspaceCreationHelper.hh"
+#include "MantidTestHelpers/WorkspaceCreationHelper.h"
 
 #include "MantidAlgorithms/DetectorEfficiencyVariation.h"
 #include "MantidKernel/UnitFactory.h"
diff --git a/Code/Mantid/Framework/Algorithms/test/DivideTest.h b/Code/Mantid/Framework/Algorithms/test/DivideTest.h
index 2d61d78ee0a035bd9822e81cc20c39b13589c7dc..e634843c0e89d3d2645066725770b4d6bed5c865 100644
--- a/Code/Mantid/Framework/Algorithms/test/DivideTest.h
+++ b/Code/Mantid/Framework/Algorithms/test/DivideTest.h
@@ -4,7 +4,7 @@
 #include <cxxtest/TestSuite.h>
 #include <cmath>
 
-#include "WorkspaceCreationHelper.hh"
+#include "MantidTestHelpers/WorkspaceCreationHelper.h"
 
 #include "MantidAlgorithms/Divide.h"
 #include "MantidAlgorithms/Multiply.h"
diff --git a/Code/Mantid/Framework/Algorithms/test/ExponentialCorrectionTest.h b/Code/Mantid/Framework/Algorithms/test/ExponentialCorrectionTest.h
index 167bfa12f382de2d1f3ce8ac9c4d67779cbd65f5..2c7565492982a34ba0737f307e30aab50dfbdd46 100644
--- a/Code/Mantid/Framework/Algorithms/test/ExponentialCorrectionTest.h
+++ b/Code/Mantid/Framework/Algorithms/test/ExponentialCorrectionTest.h
@@ -3,7 +3,7 @@
 
 #include <cxxtest/TestSuite.h>
 
-#include "WorkspaceCreationHelper.hh"
+#include "MantidTestHelpers/WorkspaceCreationHelper.h"
 #include "MantidAlgorithms/ExponentialCorrection.h"
 #include "MantidAPI/AnalysisDataService.h"
 #include "MantidKernel/ArrayProperty.h"
diff --git a/Code/Mantid/Framework/Algorithms/test/ExponentialTest.h b/Code/Mantid/Framework/Algorithms/test/ExponentialTest.h
index 5bdbcab05ce9813cc4178fc720a9ed624176081c..e26455cd53df77ccf30185affeffa6d76dea9eeb 100644
--- a/Code/Mantid/Framework/Algorithms/test/ExponentialTest.h
+++ b/Code/Mantid/Framework/Algorithms/test/ExponentialTest.h
@@ -4,7 +4,7 @@
 #include <cxxtest/TestSuite.h>
 #include <cmath>
 
-#include "WorkspaceCreationHelper.hh"
+#include "MantidTestHelpers/WorkspaceCreationHelper.h"
 #include "MantidAlgorithms/Exponential.h"
 #include "MantidAPI/AnalysisDataService.h"
 
diff --git a/Code/Mantid/Framework/Algorithms/test/ExtractFFTSpectrumTest.h b/Code/Mantid/Framework/Algorithms/test/ExtractFFTSpectrumTest.h
index 9f7e4e45fccb40ccb2d4b480b66a477cdea0509b..fff76d818dd1e6034c2bdba55604cea833ddd249 100644
--- a/Code/Mantid/Framework/Algorithms/test/ExtractFFTSpectrumTest.h
+++ b/Code/Mantid/Framework/Algorithms/test/ExtractFFTSpectrumTest.h
@@ -4,7 +4,7 @@
 #include <cxxtest/TestSuite.h>
 
 #include "MantidAlgorithms/ExtractFFTSpectrum.h"
-#include "WorkspaceCreationHelper.hh"
+#include "MantidTestHelpers/WorkspaceCreationHelper.h"
 #include "MantidNexus/LoadNeXus.h"
 #include "MantidAlgorithms/Rebin.h"
 
diff --git a/Code/Mantid/Framework/Algorithms/test/ExtractMaskingTest.h b/Code/Mantid/Framework/Algorithms/test/ExtractMaskingTest.h
index b5015d1be30cb33732639e311615b0daac4776f5..6bf6508af9ab7b41651408b6b580f089619dc0cb 100644
--- a/Code/Mantid/Framework/Algorithms/test/ExtractMaskingTest.h
+++ b/Code/Mantid/Framework/Algorithms/test/ExtractMaskingTest.h
@@ -6,7 +6,7 @@
 //------------------------------------------------------------------------------
 #include <cxxtest/TestSuite.h>
 #include "MantidAlgorithms/ExtractMasking.h"
-#include "WorkspaceCreationHelper.hh"
+#include "MantidTestHelpers/WorkspaceCreationHelper.h"
 
 using Mantid::Algorithms::ExtractMasking;
 using Mantid::API::AnalysisDataService;
diff --git a/Code/Mantid/Framework/Algorithms/test/ExtractSingleSpectrumTest.h b/Code/Mantid/Framework/Algorithms/test/ExtractSingleSpectrumTest.h
index 4cc30a72691f87e5e97ebbbaa2c924315ca47bc5..d2e92a33c00fb06c05294801cec36d4b107d6390 100644
--- a/Code/Mantid/Framework/Algorithms/test/ExtractSingleSpectrumTest.h
+++ b/Code/Mantid/Framework/Algorithms/test/ExtractSingleSpectrumTest.h
@@ -4,7 +4,7 @@
 #include <cxxtest/TestSuite.h>
 
 #include "MantidAlgorithms/ExtractSingleSpectrum.h"
-#include "WorkspaceCreationHelper.hh"
+#include "MantidTestHelpers/WorkspaceCreationHelper.h"
 
 class ExtractSingleSpectrumTest : public CxxTest::TestSuite
 {
diff --git a/Code/Mantid/Framework/Algorithms/test/FFTSmooth2Test.h b/Code/Mantid/Framework/Algorithms/test/FFTSmooth2Test.h
index bab6dbbcb3712585a81de538a4475c3e5f043bec..a02eaaa3954dd8bb35c6e83c52268b93d6efb39c 100644
--- a/Code/Mantid/Framework/Algorithms/test/FFTSmooth2Test.h
+++ b/Code/Mantid/Framework/Algorithms/test/FFTSmooth2Test.h
@@ -3,7 +3,7 @@
 
 #include <cxxtest/TestSuite.h>
 
-#include "WorkspaceCreationHelper.hh"
+#include "MantidTestHelpers/WorkspaceCreationHelper.h"
 #include "MantidAlgorithms/FFTSmooth2.h"
 #include "MantidAPI/AnalysisDataService.h"
 #include "MantidKernel/ArrayProperty.h"
diff --git a/Code/Mantid/Framework/Algorithms/test/FilterByLogValueTest.h b/Code/Mantid/Framework/Algorithms/test/FilterByLogValueTest.h
index 0ed40f89d88548c0a604698165b838cddd098fea..f378a0cf2d192d6c8f13abc5e7de1b8aa55c30cc 100644
--- a/Code/Mantid/Framework/Algorithms/test/FilterByLogValueTest.h
+++ b/Code/Mantid/Framework/Algorithms/test/FilterByLogValueTest.h
@@ -16,7 +16,7 @@
 #include "MantidKernel/TimeSeriesProperty.h"
 #include "MantidDataObjects/EventWorkspace.h"
 #include "MantidAPI/AlgorithmManager.h"
-#include "WorkspaceCreationHelper.hh"
+#include "MantidTestHelpers/WorkspaceCreationHelper.h"
 
 using namespace Mantid::Algorithms;
 using namespace Mantid::DataHandling;
diff --git a/Code/Mantid/Framework/Algorithms/test/FindCenterOfMassPositionTest.h b/Code/Mantid/Framework/Algorithms/test/FindCenterOfMassPositionTest.h
index ead279df7b877a55fda1da095042a6b6a61b870e..1d72c25a975cb5872e75852fceaf0b2d07c31301 100644
--- a/Code/Mantid/Framework/Algorithms/test/FindCenterOfMassPositionTest.h
+++ b/Code/Mantid/Framework/Algorithms/test/FindCenterOfMassPositionTest.h
@@ -10,7 +10,7 @@
 #include "MantidAPI/TableRow.h"
 #include "MantidDataObjects/TableWorkspace.h"
 
-#include "SANSInstrumentCreationHelper.h"
+#include "MantidTestHelpers/ComponentCreationHelper.h"
 
 using namespace Mantid::API;
 using namespace Mantid::Kernel;
diff --git a/Code/Mantid/Framework/Algorithms/test/FindDeadDetectorsTest.h b/Code/Mantid/Framework/Algorithms/test/FindDeadDetectorsTest.h
index 2b12311c6cce8367f37393141bc3f8dc764666db..9a55d695883f7e425c21bc38791e133ca376d4aa 100644
--- a/Code/Mantid/Framework/Algorithms/test/FindDeadDetectorsTest.h
+++ b/Code/Mantid/Framework/Algorithms/test/FindDeadDetectorsTest.h
@@ -8,7 +8,7 @@
 #include "MantidAPI/WorkspaceFactory.h"
 #include "MantidAPI/SpectraDetectorMap.h"
 #include "MantidDataObjects/Workspace2D.h"
-#include "WorkspaceCreationHelper.hh"
+#include "MantidTestHelpers/WorkspaceCreationHelper.h"
 #include <fstream>
 #include <Poco/File.h>
 
diff --git a/Code/Mantid/Framework/Algorithms/test/FindDetectorsOutsideLimitsTest.h b/Code/Mantid/Framework/Algorithms/test/FindDetectorsOutsideLimitsTest.h
index 6f7afc5e09ebf7f2a5ede98fd128fcfd92c268dd..16b27b8f5b05be32a3fd4bc00fda92640e563b9d 100644
--- a/Code/Mantid/Framework/Algorithms/test/FindDetectorsOutsideLimitsTest.h
+++ b/Code/Mantid/Framework/Algorithms/test/FindDetectorsOutsideLimitsTest.h
@@ -9,7 +9,7 @@
 #include "MantidAPI/SpectraDetectorMap.h"
 #include "MantidDataObjects/Workspace2D.h"
 #include "MantidDataObjects/EventWorkspace.h"
-#include "WorkspaceCreationHelper.hh"
+#include "MantidTestHelpers/WorkspaceCreationHelper.h"
 #include "Poco/File.h"
 #include <fstream>
 
diff --git a/Code/Mantid/Framework/Algorithms/test/FindPeaksTest.h b/Code/Mantid/Framework/Algorithms/test/FindPeaksTest.h
index 84b5f8b8ad9b33cc1c5760960d4195b089bcfb4f..c2bcd5fd51b59bca4a7fdd4adcbed591bff1a99e 100644
--- a/Code/Mantid/Framework/Algorithms/test/FindPeaksTest.h
+++ b/Code/Mantid/Framework/Algorithms/test/FindPeaksTest.h
@@ -2,7 +2,7 @@
 #define FINDPEAKSTEST_H_
 
 #include <cxxtest/TestSuite.h>
-#include "WorkspaceCreationHelper.hh"
+#include "MantidTestHelpers/WorkspaceCreationHelper.h"
 
 #include "MantidAlgorithms/FindPeaks.h"
 #include "MantidNexus/LoadNexusProcessed.h"
diff --git a/Code/Mantid/Framework/Algorithms/test/FlatPlateAbsorptionTest.h b/Code/Mantid/Framework/Algorithms/test/FlatPlateAbsorptionTest.h
index 1488c7e8c9c37aa8e6905e5a29491d02feb81614..2a5e858e680e04f19dd693ec92c0d3cb71db7199 100644
--- a/Code/Mantid/Framework/Algorithms/test/FlatPlateAbsorptionTest.h
+++ b/Code/Mantid/Framework/Algorithms/test/FlatPlateAbsorptionTest.h
@@ -5,7 +5,7 @@
 
 #include "MantidAlgorithms/FlatPlateAbsorption.h"
 #include "MantidKernel/UnitFactory.h"
-#include "WorkspaceCreationHelper.hh"
+#include "MantidTestHelpers/WorkspaceCreationHelper.h"
 
 class FlatPlateAbsorptionTest : public CxxTest::TestSuite
 {
diff --git a/Code/Mantid/Framework/Algorithms/test/GetDetectorOffsetsTest.h b/Code/Mantid/Framework/Algorithms/test/GetDetectorOffsetsTest.h
index ee668c179f6739de784a306a3e4d1e52eff673f5..684a70096afaf9fea7b6f59a3535f5d7e7c63b4e 100644
--- a/Code/Mantid/Framework/Algorithms/test/GetDetectorOffsetsTest.h
+++ b/Code/Mantid/Framework/Algorithms/test/GetDetectorOffsetsTest.h
@@ -2,7 +2,7 @@
 #define GETDETECTOROFFSETSTEST_H_
 
 #include <cxxtest/TestSuite.h>
-#include "WorkspaceCreationHelper.hh"
+#include "MantidTestHelpers/WorkspaceCreationHelper.h"
 
 #include "MantidAlgorithms/GetDetectorOffsets.h"
 #include "MantidAPI/AnalysisDataService.h"
diff --git a/Code/Mantid/Framework/Algorithms/test/GetEiTest.h b/Code/Mantid/Framework/Algorithms/test/GetEiTest.h
index eff822521b2ebdca59da173f8274e4bc80c5f8de..579721b62ad34a9ee3385d768a509e9bdd85a9d0 100644
--- a/Code/Mantid/Framework/Algorithms/test/GetEiTest.h
+++ b/Code/Mantid/Framework/Algorithms/test/GetEiTest.h
@@ -3,7 +3,7 @@
 
 #include <cxxtest/TestSuite.h>
 #include "MantidAlgorithms/GetEi2.h"
-#include "WorkspaceCreationHelper.hh"
+#include "MantidTestHelpers/WorkspaceCreationHelper.h"
 #include "MantidKernel/UnitFactory.h"
 #include <cmath>
 
diff --git a/Code/Mantid/Framework/Algorithms/test/GhostCorrectionTest.h b/Code/Mantid/Framework/Algorithms/test/GhostCorrectionTest.h
index 4651dc9694705f8c266d65af9ede2a5729305755..246a4dc3e3790ae57a1d29db62f3d0f3abd6e6d2 100644
--- a/Code/Mantid/Framework/Algorithms/test/GhostCorrectionTest.h
+++ b/Code/Mantid/Framework/Algorithms/test/GhostCorrectionTest.h
@@ -10,8 +10,8 @@
 #include "MantidDataObjects/Workspace2D.h"
 #include "MantidDataHandling/LoadEventPreNeXus.h"
 #include "MantidAlgorithms/AlignDetectors.h"
-#include "WorkspaceCreationHelper.hh"
-#include "../../Geometry/test/ComponentCreationHelpers.hh"
+#include "MantidTestHelpers/WorkspaceCreationHelper.h"
+#include "MantidTestHelpers/ComponentCreationHelper.h"
 #include <Poco/File.h>
 
 using namespace Mantid;
diff --git a/Code/Mantid/Framework/Algorithms/test/HRPDSlabCanAbsorptionTest.h b/Code/Mantid/Framework/Algorithms/test/HRPDSlabCanAbsorptionTest.h
index 1c8803146cca832268f5c923caa3282a6f379881..ef9e28fea99653cefaf693fe469cbd0c7576aee7 100644
--- a/Code/Mantid/Framework/Algorithms/test/HRPDSlabCanAbsorptionTest.h
+++ b/Code/Mantid/Framework/Algorithms/test/HRPDSlabCanAbsorptionTest.h
@@ -5,7 +5,7 @@
 
 #include "MantidAlgorithms/HRPDSlabCanAbsorption.h"
 #include "MantidKernel/UnitFactory.h"
-#include "WorkspaceCreationHelper.hh"
+#include "MantidTestHelpers/WorkspaceCreationHelper.h"
 
 class HRPDSlabCanAbsorptionTest : public CxxTest::TestSuite
 {
diff --git a/Code/Mantid/Framework/Algorithms/test/IntegrationTest.h b/Code/Mantid/Framework/Algorithms/test/IntegrationTest.h
index 1bbefef1fb37f70d9ceb570271389e5c15f3e426..5ebe48faa7314a51a42d5bb777b4f934e27d961f 100644
--- a/Code/Mantid/Framework/Algorithms/test/IntegrationTest.h
+++ b/Code/Mantid/Framework/Algorithms/test/IntegrationTest.h
@@ -8,7 +8,7 @@
 #include "MantidAPI/WorkspaceFactory.h"
 #include "MantidDataObjects/Workspace2D.h"
 #include "MantidDataObjects/EventWorkspace.h"
-#include "WorkspaceCreationHelper.hh"
+#include "MantidTestHelpers/WorkspaceCreationHelper.h"
 
 using namespace Mantid::API;
 using namespace Mantid::Kernel;
diff --git a/Code/Mantid/Framework/Algorithms/test/LogarithmTest.h b/Code/Mantid/Framework/Algorithms/test/LogarithmTest.h
index 5fc189c77e845925ea080a27c8f54fe897dc479b..bb82517a2f15520373c95a56e5a74b99c3559e99 100644
--- a/Code/Mantid/Framework/Algorithms/test/LogarithmTest.h
+++ b/Code/Mantid/Framework/Algorithms/test/LogarithmTest.h
@@ -3,7 +3,7 @@
 
 #include <cxxtest/TestSuite.h>
 
-#include "WorkspaceCreationHelper.hh"
+#include "MantidTestHelpers/WorkspaceCreationHelper.h"
 #include "MantidAPI/AnalysisDataService.h"
 #include "MantidAPI/WorkspaceFactory.h"
 #include "MantidDataObjects/Workspace2D.h"
diff --git a/Code/Mantid/Framework/Algorithms/test/MaskBinsTest.h b/Code/Mantid/Framework/Algorithms/test/MaskBinsTest.h
index d56fff45d5f9838aba0feada3a7f876ec966351d..37c979305723c330740fe775fec57ea3f4031bb4 100644
--- a/Code/Mantid/Framework/Algorithms/test/MaskBinsTest.h
+++ b/Code/Mantid/Framework/Algorithms/test/MaskBinsTest.h
@@ -2,7 +2,7 @@
 #define MASKBINSTEST_H_
 
 #include <cxxtest/TestSuite.h>
-#include "WorkspaceCreationHelper.hh"
+#include "MantidTestHelpers/WorkspaceCreationHelper.h"
 
 #include "MantidAlgorithms/MaskBins.h"
 #include "MantidDataHandling/LoadEventPreNeXus.h"
diff --git a/Code/Mantid/Framework/Algorithms/test/MedianDetectorTestTest.h b/Code/Mantid/Framework/Algorithms/test/MedianDetectorTestTest.h
index c2448638e4dd85271e77cb599466c3a35f82962e..5f7b2db4c3edd77048f1c85c1cab6f04b5b2b53a 100644
--- a/Code/Mantid/Framework/Algorithms/test/MedianDetectorTestTest.h
+++ b/Code/Mantid/Framework/Algorithms/test/MedianDetectorTestTest.h
@@ -2,7 +2,7 @@
 #define WBVMEDIANTESTTEST_H_
 
 #include <cxxtest/TestSuite.h>
-#include "WorkspaceCreationHelper.hh"
+#include "MantidTestHelpers/WorkspaceCreationHelper.h"
 
 #include "MantidAlgorithms/MedianDetectorTest.h"
 #include "MantidKernel/UnitFactory.h"
diff --git a/Code/Mantid/Framework/Algorithms/test/MemoryLeakTest.h b/Code/Mantid/Framework/Algorithms/test/MemoryLeakTest.h
index 9831810113566aeec24f1e3ade1e7fd98bbdb20a..db14b4eb57196e3b55000f99bbe8b3ff7e0595e8 100644
--- a/Code/Mantid/Framework/Algorithms/test/MemoryLeakTest.h
+++ b/Code/Mantid/Framework/Algorithms/test/MemoryLeakTest.h
@@ -4,7 +4,7 @@
 #include <cxxtest/TestSuite.h>
 #include "MantidAPI/WorkspaceGroup.h"
 #include <iostream>
-#include "../../Algorithms/test/WorkspaceCreationHelper.hh"
+#include "MantidTestHelpers/WorkspaceCreationHelper.h"
 #include "MantidNexus/LoadSNSEventNexus.h"
 #include "MantidAPI/AnalysisDataService.h"
 #include "MantidAPI/AlgorithmManager.h"
diff --git a/Code/Mantid/Framework/Algorithms/test/MergeRunsTest.h b/Code/Mantid/Framework/Algorithms/test/MergeRunsTest.h
index d2f67d286ea7c1ef05ab6df13759210b7867a693..a2e4a75bf34b6d6c498dd7916bd32f3e720acb90 100644
--- a/Code/Mantid/Framework/Algorithms/test/MergeRunsTest.h
+++ b/Code/Mantid/Framework/Algorithms/test/MergeRunsTest.h
@@ -2,7 +2,7 @@
 #define MERGERUNSTEST_H_
 
 #include <cxxtest/TestSuite.h>
-#include "WorkspaceCreationHelper.hh"
+#include "MantidTestHelpers/WorkspaceCreationHelper.h"
 #include <stdarg.h>
 
 #include "MantidAlgorithms/MergeRuns.h"
diff --git a/Code/Mantid/Framework/Algorithms/test/MinusTest.h b/Code/Mantid/Framework/Algorithms/test/MinusTest.h
index 6c8783e6d4b4937a1c059735e0586875785263af..bdb4b973d4c3e75832603466bbfb6a93c0b81548 100644
--- a/Code/Mantid/Framework/Algorithms/test/MinusTest.h
+++ b/Code/Mantid/Framework/Algorithms/test/MinusTest.h
@@ -4,7 +4,7 @@
 #include <cxxtest/TestSuite.h>
 #include <cmath>
 
-#include "WorkspaceCreationHelper.hh"
+#include "MantidTestHelpers/WorkspaceCreationHelper.h"
 #include "MantidAlgorithms/Minus.h"
 #include "MantidAlgorithms/Rebin.h"
 #include "MantidAPI/AnalysisDataService.h"
diff --git a/Code/Mantid/Framework/Algorithms/test/MonteCarloAbsorptionTest.h b/Code/Mantid/Framework/Algorithms/test/MonteCarloAbsorptionTest.h
index ca9d2054dab50cb25fa2af14488233d2dec86f5c..d7cc1d1aa50978f42ca3e275e5e06111401a4778 100644
--- a/Code/Mantid/Framework/Algorithms/test/MonteCarloAbsorptionTest.h
+++ b/Code/Mantid/Framework/Algorithms/test/MonteCarloAbsorptionTest.h
@@ -6,8 +6,8 @@
 #include "MantidAPI/SampleEnvironment.h"
 #include <cxxtest/TestSuite.h>
 
-#include "WorkspaceCreationHelper.hh"
-#include "../../Geometry/test/ComponentCreationHelpers.hh"
+#include "MantidTestHelpers/WorkspaceCreationHelper.h"
+#include "MantidTestHelpers/ComponentCreationHelper.h"
 
 using Mantid::Algorithms::MonteCarloAbsorption;
 using Mantid::API::SampleEnvironment;
diff --git a/Code/Mantid/Framework/Algorithms/test/MultipleScatteringAbsorption.h b/Code/Mantid/Framework/Algorithms/test/MultipleScatteringAbsorption.h
index 0acabd27bd4aed4713c7acea9481966b47aaa0de..c512153122fce97232ab0f5bb6e41bc0da0d7a61 100644
--- a/Code/Mantid/Framework/Algorithms/test/MultipleScatteringAbsorption.h
+++ b/Code/Mantid/Framework/Algorithms/test/MultipleScatteringAbsorption.h
@@ -4,11 +4,13 @@
 #include <cxxtest/TestSuite.h>
 #include <vector>
 
-#include "WorkspaceCreationHelper.hh"
-#include "../../Geometry/test/ComponentCreationHelpers.hh"
 #include "MantidAlgorithms/MultipleScatteringAbsorption.h"
 #include "MantidAPI/AnalysisDataService.h"
 
+#include "MantidTestHelpers/WorkspaceCreationHelper.h"
+#include "MantidTestHelpers/ComponentCreationHelper.h"
+
+
 using namespace Mantid::API;
 using namespace Mantid::Kernel;
 
diff --git a/Code/Mantid/Framework/Algorithms/test/MultiplyTest.h b/Code/Mantid/Framework/Algorithms/test/MultiplyTest.h
index 149b0be076b0b736715e15c648fd700e4a2774cd..38743934856aab5cea339cb633a9a40a3ef460dd 100644
--- a/Code/Mantid/Framework/Algorithms/test/MultiplyTest.h
+++ b/Code/Mantid/Framework/Algorithms/test/MultiplyTest.h
@@ -4,7 +4,7 @@
 #include <cxxtest/TestSuite.h>
 #include <cmath>
 
-#include "WorkspaceCreationHelper.hh"
+#include "MantidTestHelpers/WorkspaceCreationHelper.h"
 #include "MantidAlgorithms/Divide.h"
 #include "MantidAlgorithms/Multiply.h"
 #include "MantidAPI/AnalysisDataService.h"
diff --git a/Code/Mantid/Framework/Algorithms/test/NormaliseByCurrentTest.h b/Code/Mantid/Framework/Algorithms/test/NormaliseByCurrentTest.h
index 186036ef6226ed9a1d9f95510886eef324df2b4c..ce26b882dd656fbbcf164ebd0c1538e233419919 100644
--- a/Code/Mantid/Framework/Algorithms/test/NormaliseByCurrentTest.h
+++ b/Code/Mantid/Framework/Algorithms/test/NormaliseByCurrentTest.h
@@ -2,7 +2,7 @@
 #define NORMALISEBYCURRENTTEST_H_
 
 #include <cxxtest/TestSuite.h>
-#include "WorkspaceCreationHelper.hh"
+#include "MantidTestHelpers/WorkspaceCreationHelper.h"
 
 #include "MantidAlgorithms/NormaliseByCurrent.h"
 #include "MantidAPI/AnalysisDataService.h"
diff --git a/Code/Mantid/Framework/Algorithms/test/NormaliseToMonitorTest.h b/Code/Mantid/Framework/Algorithms/test/NormaliseToMonitorTest.h
index 04197b3af0ab4f8f7f364e49ba8729a82117f90a..c8e3ee2406e57e499606d5f6e37ccf6194a487ff 100644
--- a/Code/Mantid/Framework/Algorithms/test/NormaliseToMonitorTest.h
+++ b/Code/Mantid/Framework/Algorithms/test/NormaliseToMonitorTest.h
@@ -2,7 +2,7 @@
 #define NORMALISETOMONITORTEST_H_
 
 #include <cxxtest/TestSuite.h>
-#include "WorkspaceCreationHelper.hh"
+#include "MantidTestHelpers/WorkspaceCreationHelper.h"
 
 #include "MantidAlgorithms/NormaliseToMonitor.h"
 #include "MantidAPI/SpectraDetectorMap.h"
diff --git a/Code/Mantid/Framework/Algorithms/test/OneMinusExponentialCorTest.h b/Code/Mantid/Framework/Algorithms/test/OneMinusExponentialCorTest.h
index 9df673a999f8826e4bbccfc208e58e62e72bb616..e39f6fdf73dcc6fb8fc08d7eba418de691bb36c0 100644
--- a/Code/Mantid/Framework/Algorithms/test/OneMinusExponentialCorTest.h
+++ b/Code/Mantid/Framework/Algorithms/test/OneMinusExponentialCorTest.h
@@ -3,7 +3,7 @@
 
 #include <cxxtest/TestSuite.h>
 
-#include "WorkspaceCreationHelper.hh"
+#include "MantidTestHelpers/WorkspaceCreationHelper.h"
 #include "MantidAlgorithms/OneMinusExponentialCor.h"
 #include "MantidAPI/AnalysisDataService.h"
 #include "MantidKernel/ArrayProperty.h"
diff --git a/Code/Mantid/Framework/Algorithms/test/PlusTest.h b/Code/Mantid/Framework/Algorithms/test/PlusTest.h
index f37936520e0dada7acab90f82dd4bf2b5bc802b9..f87492e4f871ce83f35c5759587fa83216e17008 100644
--- a/Code/Mantid/Framework/Algorithms/test/PlusTest.h
+++ b/Code/Mantid/Framework/Algorithms/test/PlusTest.h
@@ -4,7 +4,7 @@
 #include <cxxtest/TestSuite.h>
 #include <cmath>
 
-#include "WorkspaceCreationHelper.hh"
+#include "MantidTestHelpers/WorkspaceCreationHelper.h"
 #include "MantidAlgorithms/Plus.h"
 #include "MantidAPI/AnalysisDataService.h"
 #include "MantidAPI/WorkspaceFactory.h"
diff --git a/Code/Mantid/Framework/Algorithms/test/PointByPointVCorrectionTest.h b/Code/Mantid/Framework/Algorithms/test/PointByPointVCorrectionTest.h
index 854aea4a12a3c0bfd8062ee479e817f996408423..5221b10a22b4b671800fd5d3ebc634b05c81d40c 100644
--- a/Code/Mantid/Framework/Algorithms/test/PointByPointVCorrectionTest.h
+++ b/Code/Mantid/Framework/Algorithms/test/PointByPointVCorrectionTest.h
@@ -4,7 +4,7 @@
 #include <cxxtest/TestSuite.h>
 
 #include "MantidAlgorithms/PointByPointVCorrection.h"
-#include "WorkspaceCreationHelper.hh"
+#include "MantidTestHelpers/WorkspaceCreationHelper.h"
 
 class PointByPointVCorrectionTest : public CxxTest::TestSuite
 {
diff --git a/Code/Mantid/Framework/Algorithms/test/PoissonErrorsTest.h b/Code/Mantid/Framework/Algorithms/test/PoissonErrorsTest.h
index 630986c41158cade191f3ef133525086d0c3ecd8..f259047ecf3ac9798700e677347be59b0d2fa749 100644
--- a/Code/Mantid/Framework/Algorithms/test/PoissonErrorsTest.h
+++ b/Code/Mantid/Framework/Algorithms/test/PoissonErrorsTest.h
@@ -4,7 +4,7 @@
 #include <cxxtest/TestSuite.h>
 #include <cmath>
 
-#include "WorkspaceCreationHelper.hh"
+#include "MantidTestHelpers/WorkspaceCreationHelper.h"
 #include "MantidAlgorithms/PoissonErrors.h"
 #include "MantidAPI/AnalysisDataService.h"
 #include "MantidAPI/WorkspaceFactory.h"
diff --git a/Code/Mantid/Framework/Algorithms/test/PolynomialCorrectionTest.h b/Code/Mantid/Framework/Algorithms/test/PolynomialCorrectionTest.h
index d4926001c6e0ad3c9eb4e373719a4e13763dcb77..b9f6c7cb4b61a4d0bf56a1f63bff0c211b37c4be 100644
--- a/Code/Mantid/Framework/Algorithms/test/PolynomialCorrectionTest.h
+++ b/Code/Mantid/Framework/Algorithms/test/PolynomialCorrectionTest.h
@@ -3,7 +3,7 @@
 
 #include <cxxtest/TestSuite.h>
 
-#include "WorkspaceCreationHelper.hh"
+#include "MantidTestHelpers/WorkspaceCreationHelper.h"
 #include "MantidAlgorithms/PolynomialCorrection.h"
 #include "MantidAPI/AnalysisDataService.h"
 #include "MantidKernel/ArrayProperty.h"
diff --git a/Code/Mantid/Framework/Algorithms/test/PowerLawCorrectionTest.h b/Code/Mantid/Framework/Algorithms/test/PowerLawCorrectionTest.h
index d1bd585858a28c033eb71b60955839d78f7778b7..fd176bc755e499b6496a53dd518f6c19fd7dc009 100644
--- a/Code/Mantid/Framework/Algorithms/test/PowerLawCorrectionTest.h
+++ b/Code/Mantid/Framework/Algorithms/test/PowerLawCorrectionTest.h
@@ -3,7 +3,7 @@
 
 #include <cxxtest/TestSuite.h>
 
-#include "WorkspaceCreationHelper.hh"
+#include "MantidTestHelpers/WorkspaceCreationHelper.h"
 #include "MantidAlgorithms/PowerLawCorrection.h"
 #include "MantidAPI/AnalysisDataService.h"
 #include "MantidKernel/ArrayProperty.h"
diff --git a/Code/Mantid/Framework/Algorithms/test/PowerTest.h b/Code/Mantid/Framework/Algorithms/test/PowerTest.h
index d9c71655c61b77742df7d2e86598ed861d5f43fe..62a9ec1542a29553bea9e2236e20237eb9d01c35 100644
--- a/Code/Mantid/Framework/Algorithms/test/PowerTest.h
+++ b/Code/Mantid/Framework/Algorithms/test/PowerTest.h
@@ -4,7 +4,7 @@
 #include <cxxtest/TestSuite.h>
 #include <cmath>
 
-#include "WorkspaceCreationHelper.hh"
+#include "MantidTestHelpers/WorkspaceCreationHelper.h"
 #include "MantidAlgorithms/Power.h"
 #include "MantidAPI/AnalysisDataService.h"
 #include "MantidAPI/WorkspaceFactory.h"
diff --git a/Code/Mantid/Framework/Algorithms/test/RebinToWorkspaceTest.h b/Code/Mantid/Framework/Algorithms/test/RebinToWorkspaceTest.h
index a5d8ae78533101b36d4c59de9a1b327c78a2a66a..845037caeedb7fa4a6fb0f12e6ec36a08865053a 100644
--- a/Code/Mantid/Framework/Algorithms/test/RebinToWorkspaceTest.h
+++ b/Code/Mantid/Framework/Algorithms/test/RebinToWorkspaceTest.h
@@ -6,7 +6,7 @@
 //--------------------
 #include <cxxtest/TestSuite.h>
 #include "MantidAlgorithms/RebinToWorkspace.h"
-#include "WorkspaceCreationHelper.hh"
+#include "MantidTestHelpers/WorkspaceCreationHelper.h"
 
 
 class RebinToWorkspaceTest : public CxxTest::TestSuite
diff --git a/Code/Mantid/Framework/Algorithms/test/RenameWorkspaceTest.h b/Code/Mantid/Framework/Algorithms/test/RenameWorkspaceTest.h
index a6e66db53f840be9631181ca5d421320054eb3a8..b91e860937f341f42f32ed3e704d7108b2f2f4d1 100644
--- a/Code/Mantid/Framework/Algorithms/test/RenameWorkspaceTest.h
+++ b/Code/Mantid/Framework/Algorithms/test/RenameWorkspaceTest.h
@@ -3,7 +3,7 @@
 
 #include <cxxtest/TestSuite.h>
 
-#include "WorkspaceCreationHelper.hh"
+#include "MantidTestHelpers/WorkspaceCreationHelper.h"
 #include "MantidAlgorithms/RenameWorkspace.h"
 #include "MantidAPI/AnalysisDataService.h"
 
diff --git a/Code/Mantid/Framework/Algorithms/test/ReplaceSpecialValuesTest.h b/Code/Mantid/Framework/Algorithms/test/ReplaceSpecialValuesTest.h
index 1714b5cf3e2769367076cbc057369fa437646b6b..1980398276371313cf3d36ec8d9fd6bfdb4130be 100644
--- a/Code/Mantid/Framework/Algorithms/test/ReplaceSpecialValuesTest.h
+++ b/Code/Mantid/Framework/Algorithms/test/ReplaceSpecialValuesTest.h
@@ -3,7 +3,7 @@
 
 #include <cxxtest/TestSuite.h>
 
-#include "WorkspaceCreationHelper.hh"
+#include "MantidTestHelpers/WorkspaceCreationHelper.h"
 #include "MantidAlgorithms/ReplaceSpecialValues.h"
 #include "MantidAPI/AnalysisDataService.h"
 #include <limits>
diff --git a/Code/Mantid/Framework/Algorithms/test/SANSInstrumentCreationHelper.h b/Code/Mantid/Framework/Algorithms/test/SANSInstrumentCreationHelper.h
deleted file mode 100644
index ddddd4863b93a57ea7c6e57df1e657da007202e4..0000000000000000000000000000000000000000
--- a/Code/Mantid/Framework/Algorithms/test/SANSInstrumentCreationHelper.h
+++ /dev/null
@@ -1,143 +0,0 @@
-#ifndef SANSINSTRUMENTCREATIONHELPER_H_
-#define SANSINSTRUMENTCREATIONHELPER_H_
-
-#include <cxxtest/TestSuite.h>
-#include "MantidDataHandling/LoadInstrument.h"
-#include "MantidDataObjects/Workspace2D.h"
-#include "MantidKernel/UnitFactory.h"
-#include "../../Algorithms/test/WorkspaceCreationHelper.hh"
-#include "MantidKernel/ConfigService.h"
-#include "Poco/Path.h"
-#include <boost/shared_array.hpp>
-
-using namespace Mantid::API;
-using namespace Mantid::Kernel;
-using namespace Mantid;
-
-class SANSInstrumentCreationHelper
-{
-public:
-
-  // Number of detector pixels in each dimension
-  static const int nBins = 30;
-  // The test instrument has 2 monitors
-  static const int nMonitors = 2;
-
-  /*
-   * Generate a SANS test workspace, with instrument geometry.
-   * The geometry is the SANSTEST geometry, with a 30x30 pixel 2D detector.
-   *
-   * @param workspace: name of the workspace to be created.
-   */
-  static DataObjects::Workspace2D_sptr createSANSInstrumentWorkspace(std::string workspace)
-  {
-    // Create a test workspace with test data with a well defined peak
-    // The test instrument has two monitor channels
-    DataObjects::Workspace2D_sptr ws = WorkspaceCreationHelper::Create2DWorkspace123(1,nBins*nBins+nMonitors,1);
-    Mantid::API::AnalysisDataService::Instance().addOrReplace(workspace, ws);
-    ws->getAxis(0)->unit() = Kernel::UnitFactory::Instance().create("Wavelength");
-    ws->setYUnit("");
-    for (int i = 0; i < ws->getNumberHistograms(); ++i)
-    {
-      ws->getAxis(1)->spectraNo(i) = i;
-    }
-
-    // Load instrument geometry
-    runLoadInstrument("SANSTEST", ws);
-    runLoadMappingTable(ws, nBins, nBins);
-
-    return ws;
-  }
-
-  /** Run the sub-algorithm LoadInstrument (as for LoadRaw)
-   * @param inst_name The name written in the Nexus file
-   * @param workspace The workspace to insert the instrument into
-   */
-  static void runLoadInstrument(const std::string & inst_name,
-      DataObjects::Workspace2D_sptr workspace)
-  {
-    // Determine the search directory for XML instrument definition files (IDFs)
-    std::string directoryName = Kernel::ConfigService::Instance().getString(
-        "instrumentDefinition.directory");
-    if (directoryName.empty())
-    {
-      // This is the assumed deployment directory for IDFs, where we need to be relative to the
-      // directory of the executable, not the current working directory.
-      directoryName = Poco::Path(Mantid::Kernel::ConfigService::Instance().getBaseDir()).resolve(
-          "../Instrument").toString();
-    }
-
-    // For Nexus Mantid processed, Instrument XML file name is read from nexus
-    std::string instrumentID = inst_name;
-    // force ID to upper case
-    std::transform(instrumentID.begin(), instrumentID.end(), instrumentID.begin(), toupper);
-    std::string fullPathIDF = directoryName + "/" + instrumentID + "_Definition.xml";
-
-    Mantid::DataHandling::LoadInstrument loadInst;
-    loadInst.initialize();
-    // Now execute the sub-algorithm. Catch and log any error, but don't stop.
-    loadInst.setPropertyValue("Filename", fullPathIDF);
-    loadInst.setProperty<API::MatrixWorkspace_sptr> ("Workspace", workspace);
-    loadInst.execute();
-
-  }
-
-  /**
-   * Populate spectra mapping to detector IDs
-   *
-   * @param workspace: Workspace2D object
-   * @param nxbins: number of bins in X
-   * @param nybins: number of bins in Y
-   */
-  static void runLoadMappingTable(DataObjects::Workspace2D_sptr workspace, int nxbins, int nybins)
-  {
-    // Get the number of monitor channels
-    int nMonitors = 0;
-    boost::shared_ptr<Geometry::Instrument> instrument = workspace->getBaseInstrument();
-    std::vector<int> monitors = instrument->getMonitors();
-    nMonitors = monitors.size();
-
-    // Number of monitors should be consistent with data file format
-    if( nMonitors != 2 ) {
-      std::stringstream error;
-      error << "Geometry error for " << instrument->getName() <<
-          ": Spice data format defines 2 monitors, " << nMonitors << " were/was found";
-      throw std::runtime_error(error.str());
-    }
-
-    int ndet = nxbins*nybins + nMonitors;
-    boost::shared_array<int> udet(new int[ndet]);
-    boost::shared_array<int> spec(new int[ndet]);
-
-    // Generate mapping of detector/channel IDs to spectrum ID
-
-    // Detector/channel counter
-    int icount = 0;
-
-    // Monitor: IDs start at 1 and increment by 1
-    for(int i=0; i<nMonitors; i++)
-    {
-      spec[icount] = icount;
-      udet[icount] = icount+1;
-      icount++;
-    }
-
-    // Detector pixels
-    for(int ix=0; ix<nxbins; ix++)
-    {
-      for(int iy=0; iy<nybins; iy++)
-      {
-        spec[icount] = icount;
-        udet[icount] = 1000000 + iy*1000 + ix;
-        icount++;
-      }
-    }
-
-    // Populate the Spectra Map with parameters
-    workspace->mutableSpectraMap().populate(spec.get(), udet.get(), ndet);
-  }
-
-
-};
-
-#endif /*SANSINSTRUMENTCREATIONHELPER_H_*/
diff --git a/Code/Mantid/Framework/Algorithms/test/ScaleTest.h b/Code/Mantid/Framework/Algorithms/test/ScaleTest.h
index f90d20f88d9b4bcbbdf0b9e2d3d64a7f1bf237ed..7c685ea109ba94e8b2628ee901bcfa46a464ed28 100644
--- a/Code/Mantid/Framework/Algorithms/test/ScaleTest.h
+++ b/Code/Mantid/Framework/Algorithms/test/ScaleTest.h
@@ -3,7 +3,7 @@
 
 #include <cxxtest/TestSuite.h>
 #include "MantidAlgorithms/Scale.h"
-#include "WorkspaceCreationHelper.hh"
+#include "MantidTestHelpers/WorkspaceCreationHelper.h"
 
 class ScaleTest : public CxxTest::TestSuite
 {
diff --git a/Code/Mantid/Framework/Algorithms/test/SolidAngleTest.h b/Code/Mantid/Framework/Algorithms/test/SolidAngleTest.h
index b382a18a4f7c3eeb4a13beb34f7be65eb488b6ae..401a368234d1fe41520cb73c05246fb4379e9707 100644
--- a/Code/Mantid/Framework/Algorithms/test/SolidAngleTest.h
+++ b/Code/Mantid/Framework/Algorithms/test/SolidAngleTest.h
@@ -2,7 +2,7 @@
 #define SOLIDANGLETEST_H_
 
 #include <cxxtest/TestSuite.h>
-#include "WorkspaceCreationHelper.hh"
+#include "MantidTestHelpers/WorkspaceCreationHelper.h"
 
 #include "MantidAlgorithms/SolidAngle.h"
 #include "MantidKernel/PhysicalConstants.h"
diff --git a/Code/Mantid/Framework/Algorithms/test/StripPeaksTest.h b/Code/Mantid/Framework/Algorithms/test/StripPeaksTest.h
index 7a39fc1f7c4afc67b6e42ea45e992b0a74b4adf3..ee52b3c136e34a20c160f8f9a94b69209a13c760 100644
--- a/Code/Mantid/Framework/Algorithms/test/StripPeaksTest.h
+++ b/Code/Mantid/Framework/Algorithms/test/StripPeaksTest.h
@@ -2,7 +2,7 @@
 #define STRIPPEAKSTEST_H_
 
 #include <cxxtest/TestSuite.h>
-#include "WorkspaceCreationHelper.hh"
+#include "MantidTestHelpers/WorkspaceCreationHelper.h"
 
 #include "MantidAlgorithms/StripPeaks.h"
 #include "MantidAPI/AnalysisDataService.h"
diff --git a/Code/Mantid/Framework/Algorithms/test/StripVanadiumPeaksTest.h b/Code/Mantid/Framework/Algorithms/test/StripVanadiumPeaksTest.h
index 26be7e7981317248b22e55b8b30debe1ccd5b3c5..2c1b080b10b3af3dff2519dee1642de11e2f6dca 100644
--- a/Code/Mantid/Framework/Algorithms/test/StripVanadiumPeaksTest.h
+++ b/Code/Mantid/Framework/Algorithms/test/StripVanadiumPeaksTest.h
@@ -2,7 +2,7 @@
 #define STRIPVANADIUMPEAKSTEST_H_
 
 #include <cxxtest/TestSuite.h>
-#include "WorkspaceCreationHelper.hh"
+#include "MantidTestHelpers/WorkspaceCreationHelper.h"
 #include "MantidAlgorithms/StripVanadiumPeaks.h"
 #include "MantidAPI/AnalysisDataService.h"
 #include "MantidKernel/UnitFactory.h"
diff --git a/Code/Mantid/Framework/Algorithms/test/SumSpectraTest.h b/Code/Mantid/Framework/Algorithms/test/SumSpectraTest.h
index c081023ebf42b91742529e6a95cbadc6bdccb823..57a0816286ef438def20342ffeeeba8121edd586 100644
--- a/Code/Mantid/Framework/Algorithms/test/SumSpectraTest.h
+++ b/Code/Mantid/Framework/Algorithms/test/SumSpectraTest.h
@@ -10,7 +10,7 @@
 #include "MantidDataObjects/Workspace2D.h"
 #include "MantidDataHandling/LoadRaw3.h"
 #include "MantidDataHandling/MaskDetectors.h"
-#include "WorkspaceCreationHelper.hh"
+#include "MantidTestHelpers/WorkspaceCreationHelper.h"
 
 using namespace Mantid::API;
 using namespace Mantid::Geometry;
diff --git a/Code/Mantid/Framework/Algorithms/test/TofCorrectionTest.h b/Code/Mantid/Framework/Algorithms/test/TofCorrectionTest.h
index 79450aeec9e61fcef9050799632e4a8d93863f10..eb85555562fd9ad31e881a7a94c601ee12af02ef 100644
--- a/Code/Mantid/Framework/Algorithms/test/TofCorrectionTest.h
+++ b/Code/Mantid/Framework/Algorithms/test/TofCorrectionTest.h
@@ -3,7 +3,7 @@
 
 #include <cxxtest/TestSuite.h>
 
-#include "WorkspaceCreationHelper.hh"
+#include "MantidTestHelpers/WorkspaceCreationHelper.h"
 
 #include "MantidAlgorithms/TofCorrection.h"
 
diff --git a/Code/Mantid/Framework/Algorithms/test/TransposeTest.h b/Code/Mantid/Framework/Algorithms/test/TransposeTest.h
index 771370b9917effd54a0f6d66cc07c89da380ecad..59dd644e7a9b72d14b833ab44bf1c2b885cd03d4 100644
--- a/Code/Mantid/Framework/Algorithms/test/TransposeTest.h
+++ b/Code/Mantid/Framework/Algorithms/test/TransposeTest.h
@@ -3,7 +3,7 @@
 
 #include <cxxtest/TestSuite.h>
 
-#include "WorkspaceCreationHelper.hh"
+#include "MantidTestHelpers/WorkspaceCreationHelper.h"
 
 #include "MantidAlgorithms/Transpose.h"
 
diff --git a/Code/Mantid/Framework/Algorithms/test/UnaryOperationTest.h b/Code/Mantid/Framework/Algorithms/test/UnaryOperationTest.h
index a853544f3ca7863a873df3d5601a2fcb7f4191e3..3c575a04d01ee42d981350efc98801aa3e7f159d 100644
--- a/Code/Mantid/Framework/Algorithms/test/UnaryOperationTest.h
+++ b/Code/Mantid/Framework/Algorithms/test/UnaryOperationTest.h
@@ -3,7 +3,7 @@
 
 #include <cxxtest/TestSuite.h>
 
-#include "WorkspaceCreationHelper.hh"
+#include "MantidTestHelpers/WorkspaceCreationHelper.h"
 #include "MantidAlgorithms/UnaryOperation.h"
 #include "MantidAPI/AnalysisDataService.h"
 
diff --git a/Code/Mantid/Framework/Algorithms/test/WorkspaceCreationHelper.hh b/Code/Mantid/Framework/Algorithms/test/WorkspaceCreationHelper.hh
deleted file mode 100644
index d2bd34fc1898a24d7a390fe5a2173dd108660f4d..0000000000000000000000000000000000000000
--- a/Code/Mantid/Framework/Algorithms/test/WorkspaceCreationHelper.hh
+++ /dev/null
@@ -1,471 +0,0 @@
-// The odd line ending on this file is to prevent cxxtest attempting to parse this collection of helper functions as if
-// it were a test suite.
-
-#ifndef WORKSPACECREATIONHELPER_H_
-#define WORKSPACECREATIONHELPER_H_
-
-#include <cmath>
-
-#include "MantidAPI/AnalysisDataService.h"
-#include "MantidAPI/WorkspaceFactory.h"
-#include "MantidGeometry/Instrument/Detector.h"
-#include "MantidGeometry/Instrument/ParameterMap.h"
-#include "MantidGeometry/Objects/ShapeFactory.h"
-#include "MantidDataObjects/EventWorkspace.h"
-#include "MantidDataObjects/Workspace2D.h"
-#include "MantidDataObjects/Workspace1D.h"
-#include "MantidDataObjects/WorkspaceSingleValue.h"
-
-#include "../../Geometry/test/ComponentCreationHelpers.hh"
-
-using namespace Mantid;
-using namespace Mantid::DataObjects;
-using namespace Mantid::Kernel;
-using namespace Mantid::API;
-using namespace Mantid::Geometry;
-
-class WorkspaceCreationHelper
-{
-public:
-
-  template<typename T>
-  class FibSeries
-  {
-  private:
-    T x1;  /// Initial value 1;
-    T x2;  /// Initial value 2;
-
-  public:
-
-    FibSeries() : x1(1),x2(1) {}
-    T operator()() { const T out(x1+x2); x1=x2; x2=out;  return out; }
-  };
-
-  static Workspace1D_sptr Create1DWorkspaceRand(int size)
-  {
-    MantidVecPtr x1,y1,e1;
-    x1.access().resize(size,1);
-    y1.access().resize(size);
-    std::generate(y1.access().begin(),y1.access().end(),rand);
-    e1.access().resize(size);
-    std::generate(e1.access().begin(),e1.access().end(),rand);
-    Workspace1D_sptr retVal(new Workspace1D);
-    retVal->initialize(1,size,size);
-    retVal->setX(x1);
-    retVal->setData(y1,e1);
-    return retVal;
-  }
-
-  static Workspace1D_sptr Create1DWorkspaceConstant(int size, double value, double error)
-  {
-    MantidVecPtr x1,y1,e1;
-    x1.access().resize(size,1);
-    y1.access().resize(size);
-    std::fill(y1.access().begin(), y1.access().end(), value);
-    e1.access().resize(size);
-    std::fill(y1.access().begin(), y1.access().end(), error);
-    Workspace1D_sptr retVal(new Workspace1D);
-    retVal->initialize(1,size,size);
-    retVal->setX(x1);
-    retVal->setData(y1,e1);
-    return retVal;
-  }
-
-  static Workspace1D_sptr Create1DWorkspaceFib(int size)
-  {
-    MantidVecPtr x1,y1,e1;
-    x1.access().resize(size,1);
-    y1.access().resize(size);
-    std::generate(y1.access().begin(),y1.access().end(),FibSeries<double>());
-    e1.access().resize(size);
-    Workspace1D_sptr retVal(new Workspace1D);
-    retVal->initialize(1,size,size);
-    retVal->setX(x1);
-    retVal->setData(y1,e1);
-    return retVal;
-  }
-  static Workspace2D_sptr Create2DWorkspace(int xlen, int ylen)
-  {
-    return Create2DWorkspaceBinned(xlen, ylen);
-  }
-
-  static Workspace2D_sptr Create2DWorkspace123(int xlen, int ylen,bool isHist=0, const std::set<int> & maskedWorkspaceIndices = std::set<int>())
-  {
-    MantidVecPtr x1,y1,e1;
-    x1.access().resize(isHist?xlen+1:xlen,1);
-    y1.access().resize(xlen,2);
-    e1.access().resize(xlen,3);
-    Workspace2D_sptr retVal(new Workspace2D);
-    retVal->initialize(ylen,isHist?xlen+1:xlen,xlen);
-    for (int i=0; i< ylen; i++)
-    {
-      retVal->setX(i,x1);
-      retVal->setData(i,y1,e1);
-    }
-
-    retVal = maskSpectra(retVal, maskedWorkspaceIndices);
-
-    return retVal;
-  }
-
-  static Workspace2D_sptr Create2DWorkspace154(int xlen, int ylen,bool isHist=0, const std::set<int> & maskedWorkspaceIndices = std::set<int>())
-  {
-    MantidVecPtr x1,y1,e1;
-    x1.access().resize(isHist?xlen+1:xlen,1);
-    y1.access().resize(xlen,5);
-    e1.access().resize(xlen,4);
-    Workspace2D_sptr retVal(new Workspace2D);
-    retVal->initialize(ylen,isHist?xlen+1:xlen,xlen);
-    for (int i=0; i< ylen; i++)
-    {
-      retVal->setX(i,x1);
-      retVal->setData(i,y1,e1);
-    }
-
-    retVal = maskSpectra(retVal, maskedWorkspaceIndices);
-
-    return retVal;
-  }
-
-  static Workspace2D_sptr maskSpectra(Workspace2D_sptr workspace, const std::set<int> & maskedWorkspaceIndices)
-  {
-    // We need detectors to be able to mask them.
-    workspace->setInstrument(boost::shared_ptr<Instrument>(new Instrument));
-    boost::shared_ptr<Instrument> instrument = workspace->getBaseInstrument();
-
-    std::string xmlShape = "<sphere id=\"shape\"> ";
-    xmlShape +=	"<centre x=\"0.0\"  y=\"0.0\" z=\"0.0\" /> " ;
-    xmlShape +=	"<radius val=\"0.05\" /> " ;
-    xmlShape +=	"</sphere>";
-    xmlShape +=	"<algebra val=\"shape\" /> ";  
-
-    ShapeFactory sFactory;
-    boost::shared_ptr<Object> shape = sFactory.createShape(xmlShape);
-
-    const int nhist(workspace->getNumberHistograms());
-
-    ParameterMap& pmap = workspace->instrumentParameters();
-    for( int i = 0; i < nhist; ++i )
-    {
-      workspace->getAxis(1)->spectraNo(i) = i;
-    }
-    workspace->mutableSpectraMap().populateSimple(0, nhist);
-
-    for( int i = 0; i < nhist; ++i )
-    {
-      Detector *det = new Detector("det",shape, NULL);
-      det->setPos(i,i+1,1);
-      det->setID(i);
-      instrument->add(det);
-      instrument->markAsDetector(det);
-      if ( maskedWorkspaceIndices.find(i) != maskedWorkspaceIndices.end() )
-      {
-        pmap.addBool(det,"masked",true);
-      }
-    }
-    return workspace;
-  }
-
-  /** Create a 2D workspace with this many histograms and bins.
-   * Filled with Y = 2.0 and E = sqrt(2.0)w
-   */
-  static Workspace2D_sptr Create2DWorkspaceBinned(int nhist, int nbins, double x0=0.0, double deltax = 1.0)
-  {
-    MantidVecPtr x,y,e;
-    x.access().resize(nbins+1);
-    y.access().resize(nbins,2);
-    e.access().resize(nbins,sqrt(2.0));
-    for (int i =0; i < nbins+1; ++i)
-    {
-      x.access()[i] = x0+i*deltax;
-    }
-    Workspace2D_sptr retVal(new Workspace2D);
-    retVal->initialize(nhist,nbins+1,nbins);
-    for (int i=0; i< nhist; i++)
-    {
-      retVal->setX(i,x);
-      retVal->setData(i,y,e);
-      retVal->getAxis(1)->setValue(i,i);
-    }
-
-    return retVal;
-  }
-
-  /** Create a 2D workspace with this many histograms and bins. The bins are assumed to be non-uniform and given by the input array
-   * Filled with Y = 2.0 and E = sqrt(2.0)w
-   */
-  static Workspace2D_sptr Create2DWorkspaceBinned(int nhist, const int numBoundaries, const double xBoundaries[])
-  {
-    MantidVecPtr x,y,e;
-    const int numBins = numBoundaries - 1;
-    x.access().resize(numBoundaries);
-    y.access().resize(numBins,2);
-    e.access().resize(numBins,sqrt(2.0));
-    for (int i = 0; i < numBoundaries; ++i)
-    {
-      x.access()[i] = xBoundaries[i];
-    }
-    Workspace2D_sptr retVal(new Workspace2D);
-    retVal->initialize(nhist,numBins+1,numBins);
-    for (int i=0; i< nhist; i++)
-    {
-      retVal->setX(i,x);
-      retVal->setData(i,y,e);
-    }
-
-    return retVal;
-  }
-
-
-  /**
-   * Create a test workspace with a fully defined instrument
-   * Each spectra will have a cylindrical detector defined 2*cylinder_radius away from the centre of the
-   * pervious. 
-   * Data filled with: Y: 2.0, E: sqrt(2.0), X: nbins of width 1 starting at 0 
-   */
-  static Workspace2D_sptr create2DWorkspaceWithFullInstrument(int nhist, int nbins, bool includeMonitors = false)
-  {
-    Workspace2D_sptr space = Create2DWorkspaceBinned(nhist, nbins);
-    boost::shared_ptr<Instrument> testInst(new Instrument("testInst"));
-    space->setInstrument(testInst);
-
-    // Create detectors for each spectra and set a simple mapping between pixel ID = spectrum number = index
-    const double pixelRadius(0.05);
-    Object_sptr pixelShape = 
-      ComponentCreationHelper::createCappedCylinder(pixelRadius, 0.02, V3D(0.0,0.0,0.0), V3D(0.,1.0,0.), "tube"); 
-
-    const double detXPos(5.0);
-    int ndets = nhist;
-    if( includeMonitors ) ndets -= 2;
-    for( int i = 0; i < ndets; ++i )
-    {
-      std::ostringstream lexer;
-      lexer << "pixel-" << i << ")";
-      Detector * physicalPixel = new Detector(lexer.str(), pixelShape, testInst.get());
-      const double ypos = i*2.0*pixelRadius;
-      physicalPixel->setPos(detXPos, ypos,0.0);
-      physicalPixel->setID(i);
-      testInst->add(physicalPixel);
-      testInst->markAsDetector(physicalPixel);
-    }
-
-    if( includeMonitors )
-    {
-      Detector *monitor1 = new Detector("mon1", Object_sptr(), testInst.get());
-      monitor1->setPos(-9.0,0.0,0.0);
-      monitor1->setID(ndets);
-      testInst->add(monitor1);
-      testInst->markAsMonitor(monitor1);
-
-      Detector *monitor2 = new Detector("mon2", Object_sptr(), testInst.get());
-      monitor2->setPos(-2.0,0.0,0.0);
-      monitor2->setID(ndets+1);
-      testInst->add(monitor2);
-      testInst->markAsMonitor(monitor2);
-      
-      space->mutableSpectraMap().populateSimple(0, ndets+2);
-    }
-    else
-    {
-      space->mutableSpectraMap().populateSimple(0, ndets);
-    }
-
-    // Define a source and sample position
-    //Define a source component
-    ObjComponent *source = new ObjComponent("moderator", Object_sptr(), testInst.get());
-    source->setPos(V3D(-20, 0.0, 0.0));
-    testInst->add(source);
-    testInst->markAsSource(source);
-
-    // Define a sample as a simple sphere
-    ObjComponent *sample = new ObjComponent("samplePos", Object_sptr(), testInst.get());
-    testInst->setPos(0.0, 0.0, 0.0);
-    testInst->add(sample);
-    testInst->markAsSamplePos(sample);
-
-
-    return space;
-  }
-
-  static WorkspaceSingleValue_sptr CreateWorkspaceSingleValue(double value)
-  {
-    WorkspaceSingleValue_sptr retVal(new WorkspaceSingleValue(value,sqrt(value)));
-    return retVal;
-  }
-
-  static WorkspaceSingleValue_sptr CreateWorkspaceSingleValueWithError(double value, double error)
-  {
-    WorkspaceSingleValue_sptr retVal(new WorkspaceSingleValue(value, error));
-    return retVal;
-  }
-
-  /** Perform some finalization on event workspace stuff */
-  static void EventWorkspace_Finalize(EventWorkspace_sptr ew)
-  {
-    // get a proton charge
-    ew->mutableRun().integrateProtonCharge();
-  }
-
-
-  /** Create event workspace with:
-   * 500 pixels
-   * 1000 histogrammed bins.
-   */
-  static EventWorkspace_sptr CreateEventWorkspace()
-  {
-    return CreateEventWorkspace(500,1001,100,1000);
-  }
-
-  /** Create event workspace with:
-   * 50 pixels
-   * 100 histogrammed bins from 0.0 in steps of 1.0
-   * 200 events; two in each bin, at time 0.5, 1.5, etc.
-   * PulseTime = 1 second, 2 seconds, etc.
-   */
-  static EventWorkspace_sptr CreateEventWorkspace2()
-  {
-    return CreateEventWorkspace(50, 100, 100, 0.0, 1.0, 2);
-  }
-
-  /** Create event workspace
-   */
-  static EventWorkspace_sptr CreateEventWorkspace(int numPixels,
-    int numBins, int numEvents = 100, double x0=0.0, double binDelta=1.0,
-    int eventPattern = 1, int start_at_pixelID = 0)
-  {
-    //add one to the number of bins as this is histogram
-    numBins++;
-
-    EventWorkspace_sptr retVal(new EventWorkspace);
-    retVal->initialize(numPixels,1,1);
-    
-    //Make fake events
-    if (eventPattern) // 0 == no events
-    {
-      for (int pix= start_at_pixelID+0; pix < start_at_pixelID+numPixels; pix++)
-      {
-        for (int i=0; i<numEvents; i++)
-        {
-          if (eventPattern == 1) // 0, 1 diagonal pattern
-            retVal->getEventListAtPixelID(pix) += TofEvent((pix+i+0.5)*binDelta, Kernel::DateAndTime(i,0));
-          else if (eventPattern == 2) // solid 2
-          {
-            retVal->getEventListAtPixelID(pix) += TofEvent((i+0.5)*binDelta, Kernel::DateAndTime(i,0));
-            retVal->getEventListAtPixelID(pix) += TofEvent((i+0.5)*binDelta, Kernel::DateAndTime(i,0));
-          }
-          else if (eventPattern == 3) // solid 1
-          {
-            retVal->getEventListAtPixelID(pix) += TofEvent((i+0.5)*binDelta, Kernel::DateAndTime(i,0));
-          }
-        }
-      }
-    }
-    retVal->doneLoadingData();
-
-   //Create the x-axis for histogramming.
-    MantidVecPtr x1;
-    MantidVec& xRef = x1.access();
-    xRef.resize(numBins);
-    for (int i = 0; i < numBins; ++i)
-    {
-      xRef[i] = x0+i*binDelta;
-    }
-
-    //Set all the histograms at once.
-    retVal->setAllX(x1);
-
-    return retVal;
-  }
-
-
-  /** Create event workspace
-   */
-  static EventWorkspace_sptr CreateGroupedEventWorkspace(std::vector< std::vector<int> > groups,
-      int numBins, double binDelta=1.0)
-  {
-
-    EventWorkspace_sptr retVal(new EventWorkspace);
-    retVal->initialize(1,2,1);
-
-    for (int g=0; g < groups.size(); g++)
-    {
-      std::vector<int> dets = groups[g];
-      for (std::vector<int>::iterator it = dets.begin(); it != dets.end(); it++)
-      {
-        for (int i=0; i < numBins; i++)
-          retVal->getOrAddEventList(g) += TofEvent((i+0.5)*binDelta, 1);
-        retVal->getOrAddEventList(g).addDetectorID( *it );
-      }
-    }
-
-    retVal->doneAddingEventLists();
-
-   //Create the x-axis for histogramming.
-    MantidVecPtr x1;
-    MantidVec& xRef = x1.access();
-    double x0=0;
-    xRef.resize(numBins);
-    for (int i = 0; i < numBins; ++i)
-    {
-      xRef[i] = x0+i*binDelta;
-    }
-
-    //Set all the histograms at once.
-    retVal->setAllX(x1);
-
-    return retVal;
-  }
-
-
-
-
-  //not strictly creating a workspace, but really helpfull to see what one contains
-  static void DisplayDataY(const MatrixWorkspace_sptr ws)
-  {
-      const int numHists = ws->getNumberHistograms();
-      for (int i = 0; i < numHists; ++i)
-      {
-        std::cout << "Histogram " << i << " = ";
-        for (int j = 0; j < ws->blocksize(); ++j)
-        {  
-          std::cout <<ws->readY(i)[j]<<" ";
-        }
-        std::cout<<std::endl;
-      }
-  }
-  static void DisplayData(const MatrixWorkspace_sptr ws)
-  {
-    DisplayDataX(ws);
-  }
-  //not strictly creating a workspace, but really helpfull to see what one contains
-  static void DisplayDataX(const MatrixWorkspace_sptr ws)
-  {
-      const int numHists = ws->getNumberHistograms();
-      for (int i = 0; i < numHists; ++i)
-      {
-        std::cout << "Histogram " << i << " = ";
-        for (int j = 0; j < ws->blocksize(); ++j)
-        {  
-          std::cout <<ws->readX(i)[j]<<" ";
-        }
-        std::cout<<std::endl;
-      }
-  }
-  //not strictly creating a workspace, but really helpfull to see what one contains
-  static void DisplayDataE(const MatrixWorkspace_sptr ws)
-  {
-      const int numHists = ws->getNumberHistograms();
-      for (int i = 0; i < numHists; ++i)
-      {
-        std::cout << "Histogram " << i << " = ";
-        for (int j = 0; j < ws->blocksize(); ++j)
-        {  
-          std::cout <<ws->readE(i)[j]<<" ";
-        }
-        std::cout<<std::endl;
-      }
-  }
-
-};
-
-#endif /*WORKSPACECREATIONHELPER_H_*/
diff --git a/Code/Mantid/Framework/Algorithms/test/WorkspaceGroupTest.h b/Code/Mantid/Framework/Algorithms/test/WorkspaceGroupTest.h
index b4401b237399b988b154345a7239702c77cd9e01..d2930c053fe74e0f428cdcc698a0229e979736e8 100644
--- a/Code/Mantid/Framework/Algorithms/test/WorkspaceGroupTest.h
+++ b/Code/Mantid/Framework/Algorithms/test/WorkspaceGroupTest.h
@@ -4,7 +4,7 @@
 #include <cxxtest/TestSuite.h>
 #include <cmath>
 
-#include "WorkspaceCreationHelper.hh"
+#include "MantidTestHelpers/WorkspaceCreationHelper.h"
 #include "MantidAlgorithms/Plus.h"
 #include "MantidAPI/AnalysisDataService.h"
 #include "MantidAPI/WorkspaceGroup.h"
diff --git a/Code/Mantid/Framework/Build/Tests/SConscript b/Code/Mantid/Framework/Build/Tests/SConscript
index 99152adbe8e84f630caa5878350a3b46bd5eeefe..fe2f5b68b23eee2aaa8a674fbab1cbbea4e39031 100644
--- a/Code/Mantid/Framework/Build/Tests/SConscript
+++ b/Code/Mantid/Framework/Build/Tests/SConscript
@@ -14,6 +14,7 @@ cppPath = env['CPPPATH']
 myenv = env.Clone()
 myenv.Append(CPPDEFINES=[('IN_MANTID_TESTS',1)])
 myenv.Append(CPPPATH=['../../../../Third_Party/src/cxxtest'])
+myenv.Append(CPPPATH=['../../TestHelpers/inc'])
 myenv.Append(LIBPATH=libDirList)
 
 # Add the location of the gmock library
@@ -31,7 +32,7 @@ elif dist == 'maverick':
 elif dist == 'lucid':
     myenv.Append(LIBPATH=[third_party_path+'ubuntu-10.04'])
 
-myenv.Append(LIBS=libList+['gmock'])
+myenv.Append(LIBS=libList+['gmock', 'MantidTestHelpers'])
 
 #GET LIST OF TESTS
 path = '../../'
diff --git a/Code/Mantid/Framework/DataHandling/test/CreateSampleShapeTest.h b/Code/Mantid/Framework/DataHandling/test/CreateSampleShapeTest.h
index 4eeb0bab87e04f7f34c9f62cfa58cf30070747fc..7b89ad0ba51e88b9c5960b624520563951ecefac 100644
--- a/Code/Mantid/Framework/DataHandling/test/CreateSampleShapeTest.h
+++ b/Code/Mantid/Framework/DataHandling/test/CreateSampleShapeTest.h
@@ -11,7 +11,7 @@
 #include "MantidAPI/AnalysisDataService.h"
 #include "MantidAPI/Sample.h"
 #include "MantidGeometry/Objects/Object.h"
-#include "../../Algorithms/test/WorkspaceCreationHelper.hh"
+#include "MantidTestHelpers/WorkspaceCreationHelper.h"
 
 using namespace Mantid::DataHandling;
 
diff --git a/Code/Mantid/Framework/DataHandling/test/SaveFocussedXYETest.h b/Code/Mantid/Framework/DataHandling/test/SaveFocussedXYETest.h
index df3c61f6c84b72d3887e70bcaf94abbc2e4b88b6..50217657ae1c1dee48d40fa49c12c2a41c71d5eb 100644
--- a/Code/Mantid/Framework/DataHandling/test/SaveFocussedXYETest.h
+++ b/Code/Mantid/Framework/DataHandling/test/SaveFocussedXYETest.h
@@ -3,7 +3,7 @@
 
 #include <cxxtest/TestSuite.h>
 #include "MantidDataHandling/SaveFocusedXYE.h"
-#include "../../Algorithms/test/WorkspaceCreationHelper.hh"
+#include "MantidTestHelpers/WorkspaceCreationHelper.h"
 
 #include "MantidAPI/AnalysisDataService.h"
 #include "MantidKernel/UnitFactory.h"
diff --git a/Code/Mantid/Framework/DataHandling/test/SaveRKHTest.h b/Code/Mantid/Framework/DataHandling/test/SaveRKHTest.h
index 56b4b755ea9e942bf29f6696e8d7a2079a79e341..361941e87d8c2f5c099c192b159495fbd695ed28 100644
--- a/Code/Mantid/Framework/DataHandling/test/SaveRKHTest.h
+++ b/Code/Mantid/Framework/DataHandling/test/SaveRKHTest.h
@@ -3,7 +3,7 @@
 
 #include <cxxtest/TestSuite.h>
 #include "MantidDataHandling/SaveRKH.h"
-#include "../../Algorithms/test/WorkspaceCreationHelper.hh"
+#include "MantidTestHelpers/WorkspaceCreationHelper.h"
 
 #include <fstream>
 #include "Poco/File.h"
diff --git a/Code/Mantid/Framework/DataHandling/test/SaveSPETest.h b/Code/Mantid/Framework/DataHandling/test/SaveSPETest.h
index 26ce788fcf3c437ceef498b62cc5361d8a91b329..45b565f210c6e9b43e1e5fcf73a53bea089068ea 100644
--- a/Code/Mantid/Framework/DataHandling/test/SaveSPETest.h
+++ b/Code/Mantid/Framework/DataHandling/test/SaveSPETest.h
@@ -5,7 +5,7 @@
 
 #include "MantidDataHandling/SaveSPE.h"
 #include "MantidKernel/UnitFactory.h"
-#include "../../Algorithms/test/WorkspaceCreationHelper.hh"
+#include "MantidTestHelpers/WorkspaceCreationHelper.h"
 #include "MantidAPI/FrameworkManager.h"
 #include "MantidAPI/SpectraDetectorMap.h"
 #include "MantidAPI/NumericAxis.h"
diff --git a/Code/Mantid/Framework/DataHandling/test/SetScalingPSDTest.h b/Code/Mantid/Framework/DataHandling/test/SetScalingPSDTest.h
index e45af66965d9a28d2cfd2c33da6c3bca0aa45696..4e7f1ad9e199c72cf6f111d9a1b145a9a0202c46 100644
--- a/Code/Mantid/Framework/DataHandling/test/SetScalingPSDTest.h
+++ b/Code/Mantid/Framework/DataHandling/test/SetScalingPSDTest.h
@@ -4,7 +4,7 @@
 #include <cxxtest/TestSuite.h>
 #include "MantidDataHandling/SetScalingPSD.h"
 #include "MantidDataHandling/LoadEmptyInstrument.h"
-#include "../../Algorithms/test/WorkspaceCreationHelper.hh"
+#include "MantidTestHelpers/WorkspaceCreationHelper.h"
 #include "MantidKernel/ConfigService.h"
 #include <Poco/File.h>
 #include <Poco/Path.h>
diff --git a/Code/Mantid/Framework/DataObjects/test/EventWorkspaceTest.h b/Code/Mantid/Framework/DataObjects/test/EventWorkspaceTest.h
index d78a707aa9b0c7e7d3ed25afe660e61aa12c5b18..72924a6267cd709c8a0433867c2d67aa4b4f7477 100644
--- a/Code/Mantid/Framework/DataObjects/test/EventWorkspaceTest.h
+++ b/Code/Mantid/Framework/DataObjects/test/EventWorkspaceTest.h
@@ -14,7 +14,7 @@
 #include "MantidAPI/SpectraDetectorMap.h"
 #include "boost/date_time/gregorian/gregorian.hpp"
 #include "boost/date_time/posix_time/posix_time.hpp"
-#include "../../Geometry/test/ComponentCreationHelpers.hh"
+#include "MantidTestHelpers/ComponentCreationHelper.h"
 
 #include "MantidKernel/Timer.h"
 
diff --git a/Code/Mantid/Framework/Geometry/test/CompAssemblyTest.h b/Code/Mantid/Framework/Geometry/test/CompAssemblyTest.h
index 68c8ad36cec0a307667e8e535f43adfb493fdc0a..f8c53a6218d647b8287a0c2f97e9eec87ba2293a 100644
--- a/Code/Mantid/Framework/Geometry/test/CompAssemblyTest.h
+++ b/Code/Mantid/Framework/Geometry/test/CompAssemblyTest.h
@@ -8,7 +8,7 @@
 #include "MantidGeometry/Instrument/CompAssembly.h"
 #include "MantidGeometry/V3D.h"
 #include "MantidGeometry/Quat.h"
-#include "ComponentCreationHelpers.hh"
+#include "MantidTestHelpers/ComponentCreationHelper.h"
 
 
 using namespace Mantid::Geometry;
diff --git a/Code/Mantid/Framework/Geometry/test/ComponentCreationHelpers.hh b/Code/Mantid/Framework/Geometry/test/ComponentCreationHelpers.hh
deleted file mode 100644
index e3b4f150063cb8ba1e827f2680f51ebbe7b4e6b2..0000000000000000000000000000000000000000
--- a/Code/Mantid/Framework/Geometry/test/ComponentCreationHelpers.hh
+++ /dev/null
@@ -1,351 +0,0 @@
-#ifndef COMPONENTCREATIONHELPERS_H_
-#define COMPONENTCREATIONHELPERS_H_
-
-#include "MantidGeometry/Instrument/CompAssembly.h"
-#include "MantidGeometry/Instrument/ObjComponent.h"
-#include "MantidGeometry/Instrument/DetectorGroup.h"
-#include "MantidGeometry/Instrument/Detector.h"
-#include "MantidGeometry/Instrument/Instrument.h"
-#include "MantidGeometry/Instrument/RectangularDetector.h"
-#include "MantidGeometry/Objects/Object.h"
-#include "MantidGeometry/Objects/ShapeFactory.h"
-
-namespace ComponentCreationHelper
-{
-
-using namespace Mantid;
-using namespace Mantid::Geometry;
-
-  /** 
-  A set of helper functions for creating various component structures for the unit tests.
-
-  Copyright &copy; 2010 ISIS Rutherford Appleton Laboratory & NScD Oak Ridge National Laboratory
-
-  This file is part of Mantid.
-
-  Mantid is free software; you can redistribute it and/or modify
-  it under the terms of the GNU General Public License as published by
-  the Free Software Foundation; either version 3 of the License, or
-  (at your option) any later version.
-
-  Mantid is distributed in the hope that it will be useful,
-  but WITHOUT ANY WARRANTY; without even the implied warranty of
-  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-  GNU General Public License for more details.
-
-  You should have received a copy of the GNU General Public License
-  along with this program.  If not, see <http://www.gnu.org/licenses/>.
-
-  File change history is stored at: <https://svn.mantidproject.org/mantid/trunk/Code/Mantid>
-  Code Documentation is available at: <http://doxygen.mantidproject.org>
-  */
-
-
-  //----------------------------------------------------------------------------------------------
-  /**
-   * Create a capped cylinder object
-   */
-  static Object_sptr createCappedCylinder(double radius, double height, const V3D & baseCentre, const V3D & axis, const std::string & id)
-  {
-    std::ostringstream xml;
-    xml << "<cylinder id=\"" << id << "\">" 
-      << "<centre-of-bottom-base x=\"" << baseCentre.X() << "\" y=\"" << baseCentre.Y() << "\" z=\"" << baseCentre.Z() << "\"/>"
-      << "<axis x=\"" << axis.X() << "\" y=\"" << axis.Y() << "\" z=\"" << axis.Z() << "\"/>"
-      << "<radius val=\"" << radius << "\" />"
-      << "<height val=\"" << height << "\" />"
-      << "</cylinder>";
-
-    ShapeFactory shapeMaker;
-    return shapeMaker.createShape(xml.str());
-  }
-  
-
-  //----------------------------------------------------------------------------------------------
-
-  /**
-   * Return the XML for a sphere.
-   */
-  std::string sphereXML(double radius, const V3D & centre, const std::string & id)
-  {
-    std::ostringstream xml;
-    xml << "<sphere id=\"" << id <<  "\">"
-    << "<centre x=\"" << centre.X() << "\"  y=\"" << centre.Y() << "\" z=\"" << centre.Z() << "\" />"
-    << "<radius val=\"" << radius << "\" />"
-    << "</sphere>";
-    return xml.str();
-  }
-
-  /**
-   * Create a sphere object
-   */
-  static Object_sptr createSphere(double radius, const V3D & centre, const std::string & id)
-  {
-    ShapeFactory shapeMaker;
-    return shapeMaker.createShape(sphereXML(radius, centre, id));
-  }
-
-
-  //----------------------------------------------------------------------------------------------
-  /** Create a cuboid shape for your pixels */
-  Object_sptr createCuboid(double x_side_length, double y_side_length = -1.0, double z_side_length = -1.0)
-  {
-    double szX = x_side_length;
-    double szY = (y_side_length == -1.0 ? szX : y_side_length);
-    double szZ = (z_side_length == -1.0 ? szX : z_side_length);
-    std::ostringstream xmlShapeStream;
-    xmlShapeStream
-    << " <cuboid id=\"detector-shape\"> "
-    << "<left-front-bottom-point x=\""<<szX<<"\" y=\""<<-szY<<"\" z=\""<<-szZ<<"\"  /> "
-    << "<left-front-top-point  x=\""<<szX<<"\" y=\""<<-szY<<"\" z=\""<<szZ<<"\"  /> "
-    << "<left-back-bottom-point  x=\""<<-szX<<"\" y=\""<<-szY<<"\" z=\""<<-szZ<<"\"  /> "
-    << "<right-front-bottom-point  x=\""<<szX<<"\" y=\""<<szY<<"\" z=\""<<-szZ<<"\"  /> "
-    << "</cuboid>";
-
-    std::string xmlCuboidShape(xmlShapeStream.str());
-    ShapeFactory shapeCreator;
-    Object_sptr cuboidShape = shapeCreator.createShape(xmlCuboidShape);
-    return cuboidShape;
-  }
-
-
-  //----------------------------------------------------------------------------------------------
-  /**
-  * Create a component assembly at the origin made up of 4 cylindrical detectors
-  */
-  static boost::shared_ptr<CompAssembly> createTestAssemblyOfFourCylinders()
-  {
-    boost::shared_ptr<CompAssembly> bank = boost::shared_ptr<CompAssembly>(new CompAssembly("BankName"));
-    // One object
-    Object_sptr pixelShape = ComponentCreationHelper::createCappedCylinder(0.5, 1.5, V3D(0.0,0.0,0.0), V3D(0.,1.0,0.), "tube"); 
-    // Four object components
-    for( size_t i = 1; i < 5; ++i )
-    {
-      ObjComponent * physicalPixel = new ObjComponent("pixel", pixelShape);
-      physicalPixel->setPos(static_cast<double>(i),0.0,0.0);
-      bank->add(physicalPixel);
-    }
-    
-    return bank;
-  }
-
-  /**
-   * Create an object component that has a defined shape
-   */
-  static ObjComponent * createSingleObjectComponent()
-  {
-    Object_sptr pixelShape = ComponentCreationHelper::createCappedCylinder(0.5, 1.5, V3D(0.0,0.0,0.0), V3D(0.,1.0,0.), "tube");
-    return new ObjComponent("pixel", pixelShape);
-  }
-
-  /**
-   * Create a hollow shell, i.e. the intersection of two spheres or radius r1 and r2
-   */
-  static Object_sptr createHollowShell(double innerRadius, double outerRadius, const V3D & centre = V3D())
-  {
-    std::string wholeXML = 
-      sphereXML(innerRadius, centre, "inner") + "\n" + 
-      sphereXML(outerRadius, centre, "outer") + "\n" + 
-      "<algebra val=\"(outer (# inner))\" />";
-    
-    ShapeFactory shapeMaker;
-    return shapeMaker.createShape(wholeXML);
-  }
-
-  //----------------------------------------------------------------------------------------------
-  /**
-   * Create a detector group containing 5 detectors
-   */
-  static boost::shared_ptr<DetectorGroup> createDetectorGroupWith5CylindricalDetectors()
-  {
-    const int ndets = 5;
-    std::vector<boost::shared_ptr<IDetector> > groupMembers(ndets);
-    // One object
-    Object_sptr detShape = ComponentCreationHelper::createCappedCylinder(0.5, 1.5, V3D(0.0,0.0,0.0), V3D(0.,1.0,0.), "tube"); 
-    for( int i = 0; i < ndets; ++i )
-    {
-      std::ostringstream os;
-      os << "d" << i;
-      boost::shared_ptr<Detector> det(new Detector(os.str(), detShape, NULL));
-      det->setID(i+1);
-      det->setPos((double)(i+1), 2.0, 2.0);
-      groupMembers[i] = det;
-    }
-
-    return boost::shared_ptr<DetectorGroup>(new DetectorGroup(groupMembers, false));
-  }
-
-
-  //----------------------------------------------------------------------------------------------
-  /**
-   * Create a group of two monitors
-   */
-  static boost::shared_ptr<DetectorGroup> createGroupOfTwoMonitors()
-  {
-    const int ndets(2);
-    std::vector<boost::shared_ptr<IDetector> > groupMembers(ndets);
-    for( int i = 0; i < ndets; ++i )
-    {
-      std::ostringstream os;
-      os << "m" << i;
-      boost::shared_ptr<Detector> det(new Detector(os.str(), NULL));
-      det->setID(i+1);
-      det->setPos((double)(i+1), 2.0, 2.0);
-      det->markAsMonitor();
-      groupMembers[i] = det;
-    }
-    return boost::shared_ptr<DetectorGroup>(new DetectorGroup(groupMembers, false));
-  }
-
-
-  //----------------------------------------------------------------------------------------------
-  /**
-   * Create an test instrument with n panels of 9 cylindrical detectors, a source and spherical sample shape.
-   *
-   * @param num_banks: number of 9-cylinder banks to create
-   * @param verbose: prints out the instrument after creation.
-   */
-  static IInstrument_sptr createTestInstrumentCylindrical(int num_banks,
-      bool verbose = false)
-  {
-    boost::shared_ptr<Instrument> testInst(new Instrument("basic"));
-
-    const double cylRadius(0.004);
-    const double cylHeight(0.0002);
-    // One object
-    Object_sptr pixelShape = ComponentCreationHelper::createCappedCylinder(cylRadius, cylHeight, V3D(0.0,-cylHeight/2.0,0.0), V3D(0.,1.0,0.), "pixel-shape");
-
-    //Just increment pixel ID's
-    int pixelID = 1;
-
-    for (int banknum=1; banknum <= num_banks; banknum++)
-    {
-      //Make a new bank
-      std::ostringstream bankname;
-      bankname << "bank" << banknum;
-      CompAssembly *bank = new CompAssembly(bankname.str());
-
-      // Four object components
-      for( int i = -1; i < 2; ++i )
-      {
-        for( int j = -1; j < 2; ++j )
-        {
-          std::ostringstream lexer;
-          lexer << "pixel-(" << j << "," << i << ")";
-          Detector * physicalPixel = new Detector(lexer.str(), pixelShape, bank);
-          const double xpos = j*cylRadius*2.0;
-          const double ypos = i*cylHeight;
-          physicalPixel->setPos(xpos, ypos,0.0);
-          physicalPixel->setID(pixelID);
-          pixelID++;
-          bank->add(physicalPixel);
-          testInst->markAsDetector(physicalPixel);
-        }
-      }
-
-      testInst->add(bank);
-      bank->setPos(V3D(0.0, 0.0, 5.0*banknum));
-    }
-
-    //Define a source component
-    ObjComponent *source = new ObjComponent("moderator", Object_sptr(new Object), testInst.get());
-    source->setPos(V3D(0.0, 0.0, -10.));
-    testInst->add(source);
-    testInst->markAsSource(source);
-
-    // Define a sample as a simple sphere
-    Object_sptr sampleSphere = createSphere(0.001, V3D(0.0, 0.0, 0.0), "sample-shape");
-    ObjComponent *sample = new ObjComponent("sample", sampleSphere, testInst.get());
-    testInst->setPos(0.0, 0.0, 0.0);
-    testInst->add(sample);
-    testInst->markAsSamplePos(sample);
-
-    if( verbose )
-    {
-      std::cout << "\n\n=== Testing bank positions ==\n";
-      const int nchilds = testInst->nelements();
-      for(int i = 0; i < nchilds; ++i )
-      {
-        boost::shared_ptr<IComponent> child = testInst->getChild(i);
-        std::cout << "Component " << i << " at pos " << child->getPos() << "\n";
-        if( boost::shared_ptr<ICompAssembly> assem = boost::dynamic_pointer_cast<ICompAssembly>(child) )
-        {
-          for(int j = 0; j < assem->nelements(); ++j )
-          {
-            boost::shared_ptr<IComponent> comp = assem->getChild(j);
-            std::cout << "Child " << j << " at pos " << comp->getPos() << "\n";
-          }
-        }
-      }
-      std::cout << "==================================\n";
-    }
-    
-    return testInst;
-  }
-
-
-
-
-  //----------------------------------------------------------------------------------------------
-  /**
-   * Create an test instrument with n panels of rectangular detectors, pixels*pixels in size, a source and spherical sample shape.
-   *
-   * @param num_banks: number of 9-cylinder banks to create
-   * @param verbose: prints out the instrument after creation.
-   */
-  static IInstrument_sptr createTestInstrumentRectangular(int num_banks, int pixels)
-  {
-    boost::shared_ptr<Instrument> testInst(new Instrument("basic_rect"));
-
-    const double cylRadius(0.004);
-    const double cylHeight(0.0002);
-    // One object
-    Object_sptr pixelShape = ComponentCreationHelper::createCappedCylinder(cylRadius, cylHeight, V3D(0.0,-cylHeight/2.0,0.0), V3D(0.,1.0,0.), "pixel-shape");
-
-    //Just increment pixel ID's
-    int pixelID = 1;
-
-    for (int banknum=1; banknum <= num_banks; banknum++)
-    {
-      //Make a new bank
-      std::ostringstream bankname;
-      bankname << "bank" << banknum;
-
-      RectangularDetector * bank = new RectangularDetector(bankname.str());
-      bank->initialize(pixelShape,
-          pixels, 0.0, cylRadius*2,
-          pixels, 0.0, cylRadius*2,
-          banknum*pixels*pixels, true, pixels);
-
-      // Mark them all as detectors
-      for (int i=0; i < bank->nelements(); i++)
-      {
-        boost::shared_ptr<Geometry::Detector> detector = boost::dynamic_pointer_cast<Geometry::Detector>((*bank)[i]);
-        if (detector)
-        {
-          //Mark it as a detector (add to the instrument cache)
-          testInst->markAsDetector(detector.get());
-        }
-      }
-
-      testInst->add(bank);
-      bank->setPos(V3D(0.0, 0.0, 5.0*banknum));
-    }
-
-    //Define a source component
-    ObjComponent *source = new ObjComponent("moderator", Object_sptr(new Object), testInst.get());
-    source->setPos(V3D(0.0, 0.0, -10.));
-    testInst->add(source);
-    testInst->markAsSource(source);
-
-    // Define a sample as a simple sphere
-    Object_sptr sampleSphere = createSphere(0.001, V3D(0.0, 0.0, 0.0), "sample-shape");
-    ObjComponent *sample = new ObjComponent("sample", sampleSphere, testInst.get());
-    testInst->setPos(0.0, 0.0, 0.0);
-    testInst->add(sample);
-    testInst->markAsSamplePos(sample);
-
-    return testInst;
-  }
-}
-
-#endif //COMPONENTCREATIONHELPERS_H_
diff --git a/Code/Mantid/Framework/Geometry/test/DetectorGroupTest.h b/Code/Mantid/Framework/Geometry/test/DetectorGroupTest.h
index 3a9d0854fdfc04e5bb5c0b84c95d0d609c5015df..47d3fb67721ba26d94c6a9cf7c52c76f80424f6e 100644
--- a/Code/Mantid/Framework/Geometry/test/DetectorGroupTest.h
+++ b/Code/Mantid/Framework/Geometry/test/DetectorGroupTest.h
@@ -5,7 +5,7 @@
 
 #include "MantidGeometry/Instrument/DetectorGroup.h"
 #include "MantidGeometry/Instrument/Detector.h"
-#include "ComponentCreationHelpers.hh"
+#include "MantidTestHelpers/ComponentCreationHelper.h"
 
 using namespace Mantid::Geometry;
 
diff --git a/Code/Mantid/Framework/Geometry/test/InstrumentRayTracerTest.h b/Code/Mantid/Framework/Geometry/test/InstrumentRayTracerTest.h
index f48aed2748842c94c768bbc5926c35a06d0501a4..91d20e1bdc09b017b36655d9ea18eecf4c751d86 100644
--- a/Code/Mantid/Framework/Geometry/test/InstrumentRayTracerTest.h
+++ b/Code/Mantid/Framework/Geometry/test/InstrumentRayTracerTest.h
@@ -8,7 +8,7 @@
 #include "MantidGeometry/Objects/InstrumentRayTracer.h"
 #include "MantidGeometry/V3D.h"
 #include "MantidKernel/ConfigService.h"
-#include "ComponentCreationHelpers.hh"
+#include "MantidTestHelpers/ComponentCreationHelper.h"
 #include <iterator>
 
 using namespace Mantid::Geometry;
diff --git a/Code/Mantid/Framework/Geometry/test/NearestNeighboursTest.h b/Code/Mantid/Framework/Geometry/test/NearestNeighboursTest.h
index bba51fd37c603ef91b50e6e9cdfff7859dd2f2c7..190d50604ae72065a603dd6040ebb623e279ee54 100644
--- a/Code/Mantid/Framework/Geometry/test/NearestNeighboursTest.h
+++ b/Code/Mantid/Framework/Geometry/test/NearestNeighboursTest.h
@@ -7,7 +7,7 @@
 #include "MantidGeometry/Instrument/NearestNeighbours.h"
 
 // other headers
-#include "ComponentCreationHelpers.hh"
+#include "MantidTestHelpers/ComponentCreationHelper.h"
 
 #include "MantidGeometry/IInstrument.h"
 #include "MantidGeometry/IDetector.h"
diff --git a/Code/Mantid/Framework/Geometry/test/RectangularDetectorTest.h b/Code/Mantid/Framework/Geometry/test/RectangularDetectorTest.h
index 3cbc5b2a9264973a4df44cb1624e3af4fe2d3a3a..40f772e104eb833ee33d2a0045c86b95254dd6bc 100644
--- a/Code/Mantid/Framework/Geometry/test/RectangularDetectorTest.h
+++ b/Code/Mantid/Framework/Geometry/test/RectangularDetectorTest.h
@@ -9,7 +9,7 @@
 #include "MantidGeometry/V3D.h"
 #include "MantidGeometry/Objects/BoundingBox.h"
 #include "MantidGeometry/Quat.h"
-#include "ComponentCreationHelpers.hh"
+#include "MantidTestHelpers/ComponentCreationHelper.h"
 #include "MantidGeometry/Objects/ShapeFactory.h"
 
 
diff --git a/Code/Mantid/Framework/Kernel/CMakeLists.txt b/Code/Mantid/Framework/Kernel/CMakeLists.txt
index a1fbb10fa4e65eaf987ec6d2a4bcd5c172edadf9..b4544a34cc29095fccce85c170152b0ea0d6de5c 100644
--- a/Code/Mantid/Framework/Kernel/CMakeLists.txt
+++ b/Code/Mantid/Framework/Kernel/CMakeLists.txt
@@ -144,7 +144,7 @@ set ( TEST_FILES test/ArrayBoundedValidatorTest.h
 		 test/BinFinderTest.h
 		 test/BoundedValidatorTest.h
 		 test/CacheTest.h
-		 #test/ConfigServiceTest.h # TODO uses TestChannel.hh
+		 test/ConfigServiceTest.h
 		 test/DateAndTimeTest.h
 		 test/DateValidatorTest.h
 		 test/DirectoryValidatorTest.h
@@ -152,7 +152,7 @@ set ( TEST_FILES test/ArrayBoundedValidatorTest.h
 		 test/EnvironmentHistoryTest.h
 		 test/FacilitiesTest.h
 		 test/FileValidatorTest.h
-		 #test/FilterChannelTest.h # TODO uses TestChannel.hh
+		 test/FilterChannelTest.h
 		 test/InterpolationTest.h
 		 test/ListValidatorTest.h
 		 test/LogFilterTest.h
diff --git a/Code/Mantid/Framework/Kernel/test/ConfigServiceTest.h b/Code/Mantid/Framework/Kernel/test/ConfigServiceTest.h
index cf37d5a0cc75243631cb7c68a19f8dff3cf0a73b..52d730fef98c35ad9e909fcb0b6d77654675ebaf 100644
--- a/Code/Mantid/Framework/Kernel/test/ConfigServiceTest.h
+++ b/Code/Mantid/Framework/Kernel/test/ConfigServiceTest.h
@@ -8,13 +8,14 @@
 #include "Poco/Path.h"
 #include "Poco/File.h"
 #include "boost/shared_ptr.hpp"
-#include "TestChannel.hh"
+#include "MantidTestHelpers/TestChannel.h"
 #include <string>
 #include <fstream>
 
 #include <Poco/NObserver.h>
 
 using namespace Mantid::Kernel;
+using Mantid::TestHelpers::TestChannel;
 
 class ConfigServiceTest : public CxxTest::TestSuite
 {
diff --git a/Code/Mantid/Framework/Kernel/test/FilterChannelTest.h b/Code/Mantid/Framework/Kernel/test/FilterChannelTest.h
index 3a380af51d10c48b18a80e8aea3879065f71ae5c..e57cffca9c99c343d2d1a255b9e4d28616898eb2 100644
--- a/Code/Mantid/Framework/Kernel/test/FilterChannelTest.h
+++ b/Code/Mantid/Framework/Kernel/test/FilterChannelTest.h
@@ -10,11 +10,12 @@
 #include "Poco/LoggingFactory.h"
 #include "Poco/LoggingRegistry.h"
 #include "boost/shared_ptr.hpp"
-#include "TestChannel.hh"
+#include "MantidTestHelpers/TestChannel.h"
 #include <map>
 #include <string>
 
 using namespace Mantid::Kernel;
+using Mantid::TestHelpers::TestChannel;
 
 class FilterChannelTest : public CxxTest::TestSuite
 {
diff --git a/Code/Mantid/Framework/Kernel/test/TestChannel.hh b/Code/Mantid/Framework/Kernel/test/TestChannel.hh
deleted file mode 100644
index 60542f7acb7a18686bef9471dfb26bbe94ddcc13..0000000000000000000000000000000000000000
--- a/Code/Mantid/Framework/Kernel/test/TestChannel.hh
+++ /dev/null
@@ -1,74 +0,0 @@
-//
-// TestChannel.h
-//
-// $Id: //poco/1.3/Foundation/testsuite/src/TestChannel.h#1 $
-//
-// Definition of the TestChannel class.
-//
-// Copyright (c) 2004-2006, Applied Informatics Software Engineering GmbH.
-// and Contributors.
-//
-// Permission is hereby granted, free of charge, to any person or organization
-// obtaining a copy of the software and accompanying documentation covered by
-// this license (the "Software") to use, reproduce, display, distribute,
-// execute, and transmit the Software, and to prepare derivative works of the
-// Software, and to permit third-parties to whom the Software is furnished to
-// do so, all subject to the following:
-// 
-// The copyright notices in the Software and this entire statement, including
-// the above license grant, this restriction and the following disclaimer,
-// must be included in all copies of the Software, in whole or in part, and
-// all derivative works of the Software, unless such copies or derivative
-// works are solely in the form of machine-executable object code generated by
-// a source language processor.
-// 
-// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
-// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
-// FITNESS FOR A PARTICULAR PURPOSE, TITLE AND NON-INFRINGEMENT. IN NO EVENT
-// SHALL THE COPYRIGHT HOLDERS OR ANYONE DISTRIBUTING THE SOFTWARE BE LIABLE
-// FOR ANY DAMAGES OR OTHER LIABILITY, WHETHER IN CONTRACT, TORT OR OTHERWISE,
-// ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
-// DEALINGS IN THE SOFTWARE.
-//
-
-
-#ifndef TestChannel_INCLUDED
-#define TestChannel_INCLUDED
-
-
-#include "Poco/Channel.h"
-#include "Poco/Message.h"
-#include <list>
-
-
-class TestChannel: public Poco::Channel
-{
-public:
-  typedef std::list<Poco::Message> MsgList;
-
-  TestChannel()
-  {}
-
-  ~TestChannel()
-  {}
-
-  void log(const Poco::Message& msg)
-  {
-    _msgList.push_back(msg);
-  }
-
-  MsgList& list()
-  {
-    return _msgList;
-  }
-  void clear()
-  {
-    _msgList.clear();
-  }
-
-private:	
-  MsgList _msgList;
-};
-
-
-#endif // TestChannel_INCLUDED
diff --git a/Code/Mantid/Framework/Nexus/test/SaveNXSPETest.h b/Code/Mantid/Framework/Nexus/test/SaveNXSPETest.h
index b0a749b1e79f037913cf452102ad84f2c3d2903c..0004468380f9eeb9e73b9184604372849b95ed1d 100644
--- a/Code/Mantid/Framework/Nexus/test/SaveNXSPETest.h
+++ b/Code/Mantid/Framework/Nexus/test/SaveNXSPETest.h
@@ -5,7 +5,7 @@
 
 #include "MantidNexus/SaveNXSPE.h"
 #include "MantidKernel/UnitFactory.h"
-#include "../../Algorithms/test/WorkspaceCreationHelper.hh"
+#include "MantidTestHelpers/WorkspaceCreationHelper.h"
 #include "MantidAPI/FrameworkManager.h"
 #include "MantidAPI/SpectraDetectorMap.h"
 #include "MantidAPI/NumericAxis.h"
diff --git a/Code/Mantid/Framework/PythonAPI/test/PythonFrameworkTests.h b/Code/Mantid/Framework/PythonAPI/test/PythonFrameworkTests.h
index 8589a6b58b7d1121937109f8069dfd3b07fceb2b..6257116312a93262da423d9dc836e08adff05ec5 100644
--- a/Code/Mantid/Framework/PythonAPI/test/PythonFrameworkTests.h
+++ b/Code/Mantid/Framework/PythonAPI/test/PythonFrameworkTests.h
@@ -4,7 +4,7 @@
 #include <vector>
 
 #include <cxxtest/TestSuite.h>
-#include "../../Algorithms/test/WorkspaceCreationHelper.hh"
+#include "MantidTestHelpers/WorkspaceCreationHelper.h"
 
 #include "MantidPythonAPI/FrameworkManagerProxy.h"
 #include "MantidPythonAPI/SimplePythonAPI.h"
diff --git a/Code/Mantid/Framework/SConstruct b/Code/Mantid/Framework/SConstruct
index 9e6bf753547e94512fd4664104ebfac9b1589f10..ca99c4adbe1a4310f0b04eb6523f5d9c410ba8c5 100644
--- a/Code/Mantid/Framework/SConstruct
+++ b/Code/Mantid/Framework/SConstruct
@@ -382,9 +382,13 @@ Command(dest_dir+'/setup.py','PythonAPI/setup.py',Copy("$TARGET","$SOURCE"))
 skiptest=ARGUMENTS.get('skiptest',0)
 if not int(skiptest) and not env.GetOption('clean'):
 	print 'Building Tests.  Specify "skiptest=1" to skip the tests'
+	# Test helpers
+	ret = SConscript(['TestHelpers/SConscript'])
+	env.Install(dest_dir, ret['shared'])
 	# tests
 	hudsonbuild=ARGUMENTS.get('xunitoutput',0)
 	if not int(hudsonbuild):
+	        print 'Using MantidPrinter cxxtest output'
 		ret = SConscript(['Build/Tests/SConscript'])
 	else:
 		print 'Using xUnit Output'
diff --git a/Code/Mantid/Framework/TestHelpers/SConscript b/Code/Mantid/Framework/TestHelpers/SConscript
new file mode 100644
index 0000000000000000000000000000000000000000..5030ed552d47d4494343de34c376d97125f7acbe
--- /dev/null
+++ b/Code/Mantid/Framework/TestHelpers/SConscript
@@ -0,0 +1,22 @@
+#For TestHelpers
+
+import os
+import MantidBuild
+
+#GET LIST OF CPPS
+codeFolder = os.path.abspath('./src')
+listCpps = MantidBuild.getCPPFiles(codeFolder)
+
+#Import environment
+Import('env')
+myenv = env.Clone()
+myenv.Append(CPPDEFINES=[('IN_MANTID_TESTHELPERS',1)])
+myenv.Append(CPPPATH=['#/DataHandling/inc'])
+myenv.Append(MYLIBLIST=['MantidDataHandling'])
+
+listSharedObjects = MantidBuild.getSharedObjects(listCpps, myenv)
+
+#BUILD CODE
+shared = myenv.SharedLibrary('lib/MantidTestHelpers', listCpps, LIBS=myenv['MYLIBLIST'], LIBPATH=myenv['MYLIBDIRLIST'], PDB='lib/MantidTestHelpers.pdb')
+retval = { 'shared': shared, 'sharedobjs' : listSharedObjects, 'libs': [ 'MantidTestHelpers' ] }
+Return('retval')