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));