diff --git a/Sample/SampleBuilderEngine/SampleProvider.cpp b/Sample/SampleBuilderEngine/SampleProvider.cpp index 5ae40d732e341ad1c29051c4dcbeecc432e75202..df24f04186048cc88f8a1d386836fa15b2f7d148 100644 --- a/Sample/SampleBuilderEngine/SampleProvider.cpp +++ b/Sample/SampleBuilderEngine/SampleProvider.cpp @@ -17,25 +17,6 @@ SampleProvider::SampleProvider() = default; -SampleProvider::SampleProvider(const SampleProvider& other) : INode() -{ - if (other.m_multilayer) - setSample(*other.m_multilayer); - - if (other.m_sample_builder) - setBuilder(other.m_sample_builder.builder()); -} - -SampleProvider& SampleProvider::operator=(const SampleProvider& other) -{ - if (this != &other) { - SampleProvider tmp(other); - std::swap(m_multilayer, tmp.m_multilayer); - std::swap(m_sample_builder, tmp.m_sample_builder); - } - return *this; -} - SampleProvider::~SampleProvider() = default; void SampleProvider::setSample(const MultiLayer& multilayer) diff --git a/Sample/SampleBuilderEngine/SampleProvider.h b/Sample/SampleBuilderEngine/SampleProvider.h index 58fb04ec5e422837818f6d4a3b7fedbc1dd5af6c..ff58f3aa1f0aa5aad4eecf022977be0160a8bc2e 100644 --- a/Sample/SampleBuilderEngine/SampleProvider.h +++ b/Sample/SampleBuilderEngine/SampleProvider.h @@ -30,8 +30,7 @@ class MultiLayer; class SampleProvider : public INode { public: SampleProvider(); - SampleProvider(const SampleProvider& other); // TODO ASAP can't we clone? - SampleProvider& operator=(const SampleProvider& other); + SampleProvider(const SampleProvider& other) = delete; ~SampleProvider(); void setSample(const MultiLayer& multilayer); diff --git a/Tests/UnitTests/Core/Sample/SampleProviderTest.cpp b/Tests/UnitTests/Core/Sample/SampleProviderTest.cpp index e2a1cce4848a86d9ff248e72797ebb79d89e03c4..4ca9f81a3c079dd4634c9205df7b4d58025846f4 100644 --- a/Tests/UnitTests/Core/Sample/SampleProviderTest.cpp +++ b/Tests/UnitTests/Core/Sample/SampleProviderTest.cpp @@ -23,17 +23,10 @@ public: registerChild(&m_provider); } - TestSimulation(const TestSimulation& other) : INode(), m_provider(other.m_provider) - { - setName("TestSimulation"); - registerChild(&m_provider); - } - void accept(INodeVisitor* visitor) const override { visitor->visit(this); } std::vector<const INode*> getChildren() const override { return m_provider.getChildren(); } - void setContainer(const SampleProvider& provider) { m_provider = provider; } SampleProvider m_provider; }; @@ -59,12 +52,6 @@ TEST_F(SampleProviderTest, initialState) provider.setSample(*SampleProviderTest::testMultiLayer(42.0)); EXPECT_EQ(provider.sample()->crossCorrLength(), 42.0); EXPECT_EQ(provider.sample()->parent(), nullptr); - - // checking assignment operator - SampleProvider provider2; - provider2 = provider; - EXPECT_EQ(provider2.sample()->crossCorrLength(), 42.0); - EXPECT_EQ(provider2.sample()->parent(), nullptr); } //! Testing sample builder assignment. @@ -85,21 +72,6 @@ TEST_F(SampleProviderTest, sampleBuilder) // Updating sample and checking if it is generated by sample builder provider.updateSample(); EXPECT_EQ(provider.sample()->crossCorrLength(), 33.0); - - // Copying container, sample_builder should be copied, but not the sample - SampleProvider provider2; - provider2 = provider; - EXPECT_EQ(provider2.sample(), nullptr); - EXPECT_EQ(builder.use_count(), 3); - - // updating sample in second container - provider2.updateSample(); - EXPECT_EQ(provider2.sample()->crossCorrLength(), 33.0); - - // setting new sample, builder should go - provider2.setSample(*SampleProviderTest::testMultiLayer(42.0)); - EXPECT_EQ(builder.use_count(), 2); - EXPECT_EQ(provider2.sample()->crossCorrLength(), 42.0); } //! Test parentship of container and sample in simulation context. @@ -117,15 +89,6 @@ TEST_F(SampleProviderTest, sampleInSimulationContext) // children of container ASSERT_EQ(provider.getChildren().size(), 1u); EXPECT_EQ(provider.getChildren()[0], provider.sample()); - - // creating second simulation via copy-construction - SampleProviderTest::TestSimulation sim2(sim); - SampleProvider& provider2 = sim2.m_provider; - - // check that parent has changed for new container and its sample - EXPECT_EQ(provider2.parent(), &sim2); - EXPECT_EQ(provider2.sample()->parent(), &sim2); - EXPECT_EQ(provider2.sample()->crossCorrLength(), 42.0); } //! Test parentship of container and builder in simulation context. diff --git a/auto/Wrap/doxygenSample.i b/auto/Wrap/doxygenSample.i index f013c53ab7b6eed1b202418a84e990eabff79bf0..46c61c76f4d5429fd1b7a7aaa7ebe0d037665ce8 100644 --- a/auto/Wrap/doxygenSample.i +++ b/auto/Wrap/doxygenSample.i @@ -6031,7 +6031,7 @@ C++ includes: SampleProvider.h %feature("docstring") SampleProvider::SampleProvider "SampleProvider::SampleProvider() "; -%feature("docstring") SampleProvider::SampleProvider "SampleProvider::SampleProvider(const SampleProvider &other) +%feature("docstring") SampleProvider::SampleProvider "SampleProvider::SampleProvider(const SampleProvider &other)=delete "; %feature("docstring") SampleProvider::~SampleProvider "SampleProvider::~SampleProvider()