From f5ad6d57efd7bbd5229f6a28406bda96cad67d7d Mon Sep 17 00:00:00 2001 From: Sam Jenkins <s.jenkins@stfc.ac.uk> Date: Fri, 19 Oct 2018 15:11:29 +0100 Subject: [PATCH] Re #23807 Updated Systemtests --- Framework/API/test/SampleTest.h | 10 ++++----- Framework/Algorithms/test/CopySampleTest.h | 2 +- .../test/MonteCarloAbsorptionTest.h | 2 +- Framework/Algorithms/test/MonteCarloTesting.h | 6 ++--- .../DataHandling/test/LoadBinaryStlTest.h | 10 +++++++++ Framework/Geometry/test/MeshObject2DTest.h | 12 +++++----- Framework/Geometry/test/MeshObjectTest.h | 12 +++++----- .../test/NexusShapeFactoryTest.h | 22 +++++++++---------- 8 files changed, 42 insertions(+), 34 deletions(-) diff --git a/Framework/API/test/SampleTest.h b/Framework/API/test/SampleTest.h index 6b73e2df9e7..05b8d760f28 100644 --- a/Framework/API/test/SampleTest.h +++ b/Framework/API/test/SampleTest.h @@ -62,15 +62,15 @@ public: test_That_An_Environment_Can_Be_Set_And_The_Same_Environment_Is_Returned() { Sample sample; const std::string envName("TestKit"); - SampleEnvironment *kit = - new SampleEnvironment(envName, boost::make_shared<const Container>("")); - kit->add(boost::make_shared<const CSGObject>()); + boost::shared_ptr<Geometry::SampleEnvironment> environment = nullptr; + environment = boost::make_shared<SampleEnvironment>(envName, boost::make_shared<const Container>("")); + environment->add(boost::make_shared<const CSGObject>()); - TS_ASSERT_THROWS_NOTHING(sample.setEnvironment(kit)); + TS_ASSERT_THROWS_NOTHING(sample.setEnvironment(environment)); const SampleEnvironment &sampleKit = sample.getEnvironment(); // Test that this references the correct object - TS_ASSERT_EQUALS(&sampleKit, kit); + TS_ASSERT_EQUALS(&sampleKit, environment.get()); TS_ASSERT_EQUALS(sampleKit.name(), envName); TS_ASSERT_EQUALS(sampleKit.nelements(), 2); } diff --git a/Framework/Algorithms/test/CopySampleTest.h b/Framework/Algorithms/test/CopySampleTest.h index 715e35c6b34..be04af48168 100644 --- a/Framework/Algorithms/test/CopySampleTest.h +++ b/Framework/Algorithms/test/CopySampleTest.h @@ -47,7 +47,7 @@ public: const std::string envName("TestKit"); auto canShape = ComponentCreationHelper::cappedCylinderXML( 0.5, 1.5, V3D(0.0, 0.0, 0.0), V3D(0., 1.0, 0.), "tube"); - SampleEnvironment *kit = new SampleEnvironment( + auto kit = boost::make_shared<SampleEnvironment>( envName, boost::make_shared<Container>(ShapeFactory().createShape(canShape))); sample.setEnvironment(kit); diff --git a/Framework/Algorithms/test/MonteCarloAbsorptionTest.h b/Framework/Algorithms/test/MonteCarloAbsorptionTest.h index b43a162c130..65bddeb318b 100644 --- a/Framework/Algorithms/test/MonteCarloAbsorptionTest.h +++ b/Framework/Algorithms/test/MonteCarloAbsorptionTest.h @@ -65,7 +65,7 @@ void addSample(Mantid::API::MatrixWorkspace_sptr ws, canShape->setMaterial(Material( "CanMaterial", PhysicalConstants::getNeutronAtom(26, 0), 0.01)); auto can = boost::make_shared<Container>(canShape); - SampleEnvironment *env = new SampleEnvironment("can", can); + auto env = boost::make_shared<SampleEnvironment>("can", can); ws->mutableSample().setEnvironment(env); } else if (environment == Environment::UserBeamSize) { auto inst = ws->getInstrument(); diff --git a/Framework/Algorithms/test/MonteCarloTesting.h b/Framework/Algorithms/test/MonteCarloTesting.h index 5d2b3f860bc..b3233ec7ea3 100644 --- a/Framework/Algorithms/test/MonteCarloTesting.h +++ b/Framework/Algorithms/test/MonteCarloTesting.h @@ -14,9 +14,7 @@ #include "MantidKernel/Material.h" #include "MantidKernel/PseudoRandomNumberGenerator.h" #include "MantidKernel/WarningSuppressions.h" -#include "MantidKernel/make_unique.h" #include "MantidTestHelpers/ComponentCreationHelper.h" - #include <boost/make_shared.hpp> #include <gmock/gmock.h> @@ -105,7 +103,7 @@ inline Mantid::API::Sample createSamplePlusContainer() { } auto can = boost::make_shared<Container>(canShape); auto environment = - Mantid::Kernel::make_unique<SampleEnvironment>("Annulus Container", can); + boost::make_shared<SampleEnvironment>("Annulus Container", can); // Sample volume auto sampleCell = ComponentCreationHelper::createCappedCylinder( innerRadius, height, centre, upAxis, "sample"); @@ -118,7 +116,7 @@ inline Mantid::API::Sample createSamplePlusContainer() { // Sample object Sample testSample; testSample.setShape(sampleCell); - testSample.setEnvironment(environment.release()); + testSample.setEnvironment(environment); return testSample; } diff --git a/Framework/DataHandling/test/LoadBinaryStlTest.h b/Framework/DataHandling/test/LoadBinaryStlTest.h index fd5c3e33cf8..63543edbc34 100644 --- a/Framework/DataHandling/test/LoadBinaryStlTest.h +++ b/Framework/DataHandling/test/LoadBinaryStlTest.h @@ -66,4 +66,14 @@ public: } }; +class LoadBinaryStlTestPerformance : public CxxTest::TestSuite { +public: + void test_loading_large_stl() { + std::string path = FileFinder::Instance().getFullPath("SI-4200-610.stl"); + auto loader = LoadBinaryStl(path); + auto LargeFile = loader.readStl(); + } + + +}; #endif /* LOAD_BINARYSTL_TEST_H_ */ \ No newline at end of file diff --git a/Framework/Geometry/test/MeshObject2DTest.h b/Framework/Geometry/test/MeshObject2DTest.h index 7d0f1a2e79b..a08bd630d71 100644 --- a/Framework/Geometry/test/MeshObject2DTest.h +++ b/Framework/Geometry/test/MeshObject2DTest.h @@ -30,14 +30,14 @@ MeshObject2D makeSimpleTriangleMesh() { vertices.emplace_back(V3D(-1, 0, 0)); vertices.emplace_back(V3D(1, 0, 0)); vertices.emplace_back(V3D(0, 1, 0)); - std::vector<uint16_t> triangles; + std::vector<uint32_t> triangles; triangles.insert(triangles.end(), {0, 1, 2}); return MeshObject2D(triangles, vertices, Mantid::Kernel::Material()); } MeshObject2D makeTrapezoidMesh(const V3D &a, const V3D &b, const V3D &c, const V3D &d) { std::vector<V3D> vertices{a, b, c, d}; - std::vector<uint16_t> triangles; + std::vector<uint32_t> triangles; triangles.insert(triangles.end(), {0, 1, 2}); triangles.insert(triangles.end(), {2, 3, 0}); return MeshObject2D(triangles, vertices, Mantid::Kernel::Material()); @@ -108,7 +108,7 @@ public: vertices.emplace_back(V3D(0, 0, 0)); vertices.emplace_back(V3D(1, 0, 0)); - std::vector<uint16_t> triangles; + std::vector<uint32_t> triangles; triangles.insert(triangles.end(), {0, 1, 1}); // invalid, but doesn't matter for this test @@ -131,7 +131,7 @@ public: vertices.emplace_back(V3D(1, 0, 0)); vertices.emplace_back(V3D(2, 0, 0)); - std::vector<uint16_t> triangles; + std::vector<uint32_t> triangles; triangles.insert(triangles.end(), {0, 1, 2}); // Test constructor taking lvalue references @@ -155,7 +155,7 @@ public: vertices.emplace_back(V3D(1, 1, 0)); vertices.emplace_back(V3D(1, 0, 1)); - std::vector<uint16_t> triangles; + std::vector<uint32_t> triangles; triangles.insert(triangles.end(), {0, 1, 2}); // Test constructor taking lvalue references @@ -176,7 +176,7 @@ public: vertices.emplace_back(V3D(-1, 0, 0)); vertices.emplace_back(V3D(1, 0, 0)); vertices.emplace_back(V3D(0, 1, 0)); - std::vector<uint16_t> triangles; + std::vector<uint32_t> triangles; triangles.insert(triangles.end(), {0, 1, 2}); MeshObject2D mesh(triangles, vertices, Mantid::Kernel::Material()); diff --git a/Framework/Geometry/test/MeshObjectTest.h b/Framework/Geometry/test/MeshObjectTest.h index 3d1d8d73519..0129a5f9174 100644 --- a/Framework/Geometry/test/MeshObjectTest.h +++ b/Framework/Geometry/test/MeshObjectTest.h @@ -74,7 +74,7 @@ std::unique_ptr<MeshObject> createCube(const double size, const V3D ¢re) { vertices.emplace_back(centre + V3D(max, min, min)); vertices.emplace_back(centre + V3D(min, min, min)); - std::vector<uint16_t> triangles; + std::vector<uint32_t> triangles; // top face of cube - z max triangles.insert(triangles.end(), {0, 1, 2}); triangles.insert(triangles.end(), {2, 1, 3}); @@ -124,7 +124,7 @@ std::unique_ptr<MeshObject> createOctahedron() { vertices.emplace_back(V3D(0, -u, 0)); vertices.emplace_back(V3D(0, 0, -u)); - std::vector<uint16_t> triangles; + std::vector<uint32_t> triangles; // +++ face triangles.insert(triangles.end(), {0, 1, 2}); //++- face @@ -168,7 +168,7 @@ std::unique_ptr<MeshObject> createLShape() { vertices.emplace_back(V3D(1, 2, 1)); vertices.emplace_back(V3D(0, 2, 1)); - std::vector<uint16_t> triangles; + std::vector<uint32_t> triangles; // z min triangles.insert(triangles.end(), {0, 5, 1}); triangles.insert(triangles.end(), {1, 3, 2}); @@ -214,7 +214,7 @@ public: vertices.emplace_back(V3D(0, 1, 0)); vertices.emplace_back(V3D(0, 0, 1)); - std::vector<uint16_t> triangles; + std::vector<uint32_t> triangles; triangles.insert(triangles.end(), {1, 2, 3}); triangles.insert(triangles.end(), {2, 1, 0}); triangles.insert(triangles.end(), {3, 0, 1}); @@ -237,7 +237,7 @@ public: void testTooManyVertices() { auto tooManyVertices = std::vector<V3D>(70000); - auto triangles = std::vector<uint16_t>(1000); + auto triangles = std::vector<uint32_t>(1000); TS_ASSERT_THROWS_ANYTHING( MeshObject(triangles, tooManyVertices, Mantid::Kernel::Material())); } @@ -250,7 +250,7 @@ public: vertices.emplace_back(V3D(0, 1, 0)); vertices.emplace_back(V3D(0, 0, 1)); - std::vector<uint16_t> triangles; + std::vector<uint32_t> triangles; triangles.insert(triangles.end(), {1, 2, 3}); triangles.insert(triangles.end(), {2, 1, 0}); triangles.insert(triangles.end(), {3, 0, 1}); diff --git a/Framework/NexusGeometry/test/NexusShapeFactoryTest.h b/Framework/NexusGeometry/test/NexusShapeFactoryTest.h index ea7c353e905..d392974f3de 100644 --- a/Framework/NexusGeometry/test/NexusShapeFactoryTest.h +++ b/Framework/NexusGeometry/test/NexusShapeFactoryTest.h @@ -29,7 +29,7 @@ public: vertices.emplace_back(V3D(-1, 0, 0)); vertices.emplace_back(V3D(1, 0, 0)); vertices.emplace_back(V3D(0, 1, 0)); - std::vector<uint16_t> triangles; + std::vector<uint32_t> triangles; triangles.insert(triangles.end(), {0, 1, 2}); auto obj = createMesh(std::move(triangles), std::move(vertices)); @@ -46,7 +46,7 @@ public: vertices.emplace_back(V3D(1, 0, 0)); vertices.emplace_back(V3D(0, 1, 0)); vertices.emplace_back(V3D(0, 1, 1)); - std::vector<uint16_t> triangles; + std::vector<uint32_t> triangles; triangles.insert(triangles.end(), {0, 1, 2, 1, 3, 2, 3, 0, 2}); auto obj = createMesh(std::move(triangles), std::move(vertices)); @@ -59,8 +59,8 @@ public: class NexusShapeFactoryTestPerformance : public CxxTest::TestSuite { private: std::vector<Eigen::Vector3d> m_vertices; - std::vector<uint16_t> m_facesIndices; - std::vector<uint16_t> m_windingOrder; + std::vector<uint32_t> m_facesIndices; + std::vector<uint32_t> m_windingOrder; template <typename T> void appendTo(std::vector<T> &destination, unsigned int value) { @@ -79,7 +79,7 @@ public: NexusShapeFactoryTestPerformance() { // Make inputs. Repeated squares - for (uint16_t i = 0; i < 10000; ++i) { + for (uint32_t i = 0; i < 10000; ++i) { m_vertices.emplace_back(Eigen::Vector3d(0 + i, 1, 0)); m_vertices.emplace_back(Eigen::Vector3d(0 + i, 1, 0)); /* @@ -89,13 +89,13 @@ public: * x x x */ - appendTo<uint16_t>(m_facesIndices, (i * 4)); - appendTo<uint16_t>(m_facesIndices, ((i + 1) * 4)); + appendTo<uint32_t>(m_facesIndices, (i * 4)); + appendTo<uint32_t>(m_facesIndices, ((i + 1) * 4)); if (i % 2 != 0) { - appendTo<uint16_t>(m_windingOrder, (i * 2)); - appendTo<uint16_t>(m_windingOrder, (i * 2 + 1)); - appendTo<uint16_t>(m_windingOrder, (i * 2 + 2)); - appendTo<uint16_t>(m_windingOrder, (i * 2 + 3)); + appendTo<uint32_t>(m_windingOrder, (i * 2)); + appendTo<uint32_t>(m_windingOrder, (i * 2 + 1)); + appendTo<uint32_t>(m_windingOrder, (i * 2 + 2)); + appendTo<uint32_t>(m_windingOrder, (i * 2 + 3)); } } } -- GitLab