diff --git a/Tests/Unit/GUI/TestMaterialModel.cpp b/Tests/Unit/GUI/TestMaterialModel.cpp index c71d7bff5d3268861568266693f1cd4e7161616a..28c755a7e975e25e58dcc3cf1762f053273a27fb 100644 --- a/Tests/Unit/GUI/TestMaterialModel.cpp +++ b/Tests/Unit/GUI/TestMaterialModel.cpp @@ -1,6 +1,6 @@ -#include "GUI/Model/Material/MaterialDataItems.h" #include "GUI/Model/Material/MaterialItem.h" #include "GUI/Model/Material/MaterialModel.h" +#include "GUI/Model/Types/DoubleDescriptor.h" #include "Tests/GTestWrapper/google_test.h" #include <memory> @@ -18,12 +18,11 @@ TEST_F(TestMaterialModel, addRefractiveMaterial) MaterialItem* material = model->addRefractiveMaterial(name, delta, beta); EXPECT_EQ(model->materialItems().size(), 1); - EXPECT_EQ(model->itemForIndex(material->index()), material); EXPECT_EQ(material->materialName(), name); EXPECT_TRUE(material->hasRefractiveIndex()); - EXPECT_EQ(material->refractiveIndexDelta(), delta); - EXPECT_EQ(material->refractiveIndexBeta(), beta); + EXPECT_EQ(material->delta(), delta); + EXPECT_EQ(material->beta(), beta); } TEST_F(TestMaterialModel, addSLDMaterial) @@ -37,11 +36,11 @@ TEST_F(TestMaterialModel, addSLDMaterial) MaterialItem* material = model->addSLDMaterial(name, sld_real, sld_imag); EXPECT_EQ(model->materialItems().size(), 1); - EXPECT_EQ(model->itemForIndex(material->index()), material); EXPECT_EQ(material->materialName(), name); EXPECT_FALSE(material->hasRefractiveIndex()); - EXPECT_EQ(material->scatteringLengthDensity(), complex_t(sld_real, sld_imag)); + EXPECT_EQ(material->sldRe(), sld_real); + EXPECT_EQ(material->sldIm(), sld_imag); } TEST_F(TestMaterialModel, cloneMaterialRefractive) @@ -55,7 +54,7 @@ TEST_F(TestMaterialModel, cloneMaterialRefractive) MaterialItem* material = model->addRefractiveMaterial(name, delta, beta); const QString origIdentifier = material->identifier(); - MaterialItem* clonedMaterial = model->cloneMaterial(material); + MaterialItem* clonedMaterial = model->insertCopy(*material); EXPECT_EQ(model->materialItems().size(), 2); // clone should not change identifier of original material (as it once happened) @@ -67,8 +66,8 @@ TEST_F(TestMaterialModel, cloneMaterialRefractive) // checking name of cloned material EXPECT_EQ(material->materialName() + " (copy)", clonedMaterial->materialName()); EXPECT_EQ(material->hasRefractiveIndex(), clonedMaterial->hasRefractiveIndex()); - EXPECT_EQ(material->refractiveIndexDelta(), delta); - EXPECT_EQ(material->refractiveIndexBeta(), beta); + EXPECT_EQ(material->delta(), delta); + EXPECT_EQ(material->beta(), beta); } TEST_F(TestMaterialModel, cloneMaterialSLD) @@ -82,7 +81,7 @@ TEST_F(TestMaterialModel, cloneMaterialSLD) MaterialItem* material = model->addSLDMaterial(name, real, imag); const QString origIdentifier = material->identifier(); - MaterialItem* clonedMaterial = model->cloneMaterial(material); + MaterialItem* clonedMaterial = model->insertCopy(*material); EXPECT_EQ(model->materialItems().size(), 2); // clone should not change identifier of original material (as it once happened) @@ -94,7 +93,8 @@ TEST_F(TestMaterialModel, cloneMaterialSLD) // checking name of cloned material EXPECT_EQ(material->materialName() + " (copy)", clonedMaterial->materialName()); EXPECT_EQ(material->hasRefractiveIndex(), clonedMaterial->hasRefractiveIndex()); - EXPECT_EQ(material->scatteringLengthDensity(), complex_t(real, imag)); + EXPECT_EQ(material->sldRe(), real); + EXPECT_EQ(material->sldIm(), imag); } //! Checks the method which returns MaterialItem from known identifier. diff --git a/Tests/Unit/GUI/TestRealSpaceBuilderUtils.cpp b/Tests/Unit/GUI/TestRealSpaceBuilderUtils.cpp index 2ab7fb5f9dca93d1a49bd194f2f47a7282fad8f6..94999baa23debefc6290a828750d7286a98330a8 100644 --- a/Tests/Unit/GUI/TestRealSpaceBuilderUtils.cpp +++ b/Tests/Unit/GUI/TestRealSpaceBuilderUtils.cpp @@ -154,11 +154,13 @@ TEST_F(TestRealSpaceBuilderUtils, Particle3DContainer) TEST_F(TestRealSpaceBuilderUtils, singleParticle3DContainer) { ApplicationModels models; + MaterialModel materialModel; + materialModel.addRefractiveMaterial("Default", 1e-3, 1e-5); SampleModel* sampleModel = models.sampleModel(); auto* particleItem = sampleModel->insertItem<ParticleItem>(); - particleItem->setMaterial(models.materialModel()->defaultMaterial()); - particleItem->setMaterialModel(models.materialModel()); + particleItem->setMaterial(materialModel.defaultMaterial()); + particleItem->setMaterialModel(&materialModel); EXPECT_EQ(particleItem->abundance(), 1.0); EXPECT_TRUE(particleItem->formFactor()->hasModelType<CylinderItem>()); @@ -170,8 +172,8 @@ TEST_F(TestRealSpaceBuilderUtils, singleParticle3DContainer) // Create a 3D particle from particleItem and associate it to a Particle3DContainer object const auto* pItem = dynamic_cast<const ParticleItem*>(particleItem); auto particle = pItem->createParticle(); - auto singleParticle3DContainer = GUI::RealSpace::BuilderUtils(models.materialModel()) - .singleParticle3DContainer(*particle, 8); + auto singleParticle3DContainer = + GUI::RealSpace::BuilderUtils(&materialModel).singleParticle3DContainer(*particle, 8); EXPECT_EQ(singleParticle3DContainer.containerSize(), 1u); EXPECT_EQ(singleParticle3DContainer.cumulativeAbundance(), 1); @@ -182,18 +184,20 @@ TEST_F(TestRealSpaceBuilderUtils, singleParticle3DContainer) TEST_F(TestRealSpaceBuilderUtils, particle3DContainerVector) { ApplicationModels models; + MaterialModel materialModel; + materialModel.addRefractiveMaterial("Default", 1e-3, 1e-5); SampleModel* sampleModel = models.sampleModel(); auto* layout = sampleModel->insertItem<ParticleLayoutItem>(); auto* particle1 = sampleModel->insertItem<ParticleItem>(); auto* particle2 = sampleModel->insertItem<ParticleItem>(); auto* particle3 = sampleModel->insertItem<ParticleItem>(); - particle1->setMaterial(models.materialModel()->defaultMaterial()); - particle2->setMaterial(models.materialModel()->defaultMaterial()); - particle3->setMaterial(models.materialModel()->defaultMaterial()); - particle1->setMaterialModel(models.materialModel()); - particle2->setMaterialModel(models.materialModel()); - particle3->setMaterialModel(models.materialModel()); + particle1->setMaterial(materialModel.defaultMaterial()); + particle2->setMaterial(materialModel.defaultMaterial()); + particle3->setMaterial(materialModel.defaultMaterial()); + particle1->setMaterialModel(&materialModel); + particle2->setMaterialModel(&materialModel); + particle3->setMaterialModel(&materialModel); layout->addParticle(particle1); layout->addParticle(particle2); @@ -203,9 +207,8 @@ TEST_F(TestRealSpaceBuilderUtils, particle3DContainerVector) particle2->setAbundance(3.0); particle3->setAbundance(2.0); - double total_abundance = GUI::RealSpace::BuilderUtils(models.materialModel()) - .computeCumulativeAbundances(*layout) - .last(); + double total_abundance = + GUI::RealSpace::BuilderUtils(&materialModel).computeCumulativeAbundances(*layout).last(); EXPECT_EQ(total_abundance, 10.0); particle1->setFormFactorType<BoxItem>(); @@ -213,7 +216,7 @@ TEST_F(TestRealSpaceBuilderUtils, particle3DContainerVector) particle3->setFormFactorType<PyramidItem>(); auto particle3DContainer_vector = - GUI::RealSpace::BuilderUtils(models.materialModel()).particle3DContainerVector(*layout); + GUI::RealSpace::BuilderUtils(&materialModel).particle3DContainerVector(*layout); EXPECT_EQ(particle3DContainer_vector.size(), static_cast<size_t>(3));