MCPcopy Create free account
hub / github.com/KDE/labplot / removeCurveRenameAutomaticAdd

Method removeCurveRenameAutomaticAdd

tests/backend/XYCurve/XYFunctionCurveTest.cpp:216–295  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

214}
215
216void XYFunctionCurveTest::removeCurveRenameAutomaticAdd() {
217 Project project;
218 auto* ws = new Worksheet(QStringLiteral("Worksheet"));
219 QVERIFY(ws != nullptr);
220 project.addChild(ws);
221
222 auto* p = new CartesianPlot(QStringLiteral("plot"));
223 p->setType(CartesianPlot::Type::TwoAxes); // Otherwise no axis are created
224 QVERIFY(p != nullptr);
225 ws->addChild(p);
226
227 p->addChild(new XYEquationCurve(QLatin1String("eq")));
228
229 auto equationCurves = p->children(AspectType::XYEquationCurve);
230 QCOMPARE(equationCurves.count(), 1);
231 auto* equationCurve = static_cast<XYEquationCurve*>(equationCurves.at(0));
232 XYEquationCurve::EquationData data;
233 data.count = 100;
234 data.expression1 = QStringLiteral("x");
235 data.expression2 = QString();
236 data.min = QStringLiteral("1");
237 data.max = QStringLiteral("100");
238 data.type = XYEquationCurve::EquationType::Cartesian;
239 equationCurve->setEquationData(data);
240
241 QCOMPARE(equationCurve->xColumn()->rowCount(), data.count);
242
243 p->addChild(new XYFunctionCurve(QLatin1String("eq2")));
244 auto functionCurves = p->children(AspectType::XYFunctionCurve);
245 QCOMPARE(functionCurves.count(), 1);
246 auto* functionCurve = static_cast<XYFunctionCurve*>(functionCurves.at(0));
247
248 auto dock = XYFunctionCurveDock(nullptr);
249 dock.setupGeneral();
250 dock.setCurves({functionCurve});
251
252 functionCurve->setFunction(QStringLiteral("2*x"), {QStringLiteral("x")}, {equationCurve});
253
254 {
255 const auto* xColumn = functionCurve->xColumn();
256 const auto* yColumn = functionCurve->yColumn();
257 QCOMPARE(xColumn->rowCount(), data.count);
258 QCOMPARE(yColumn->rowCount(), data.count);
259 for (int i = 0; i < xColumn->rowCount(); i++) {
260 VALUES_EQUAL(xColumn->valueAt(i), i + 1.);
261 VALUES_EQUAL(yColumn->valueAt(i), (i + 1.) * 2.);
262 }
263 }
264
265 equationCurve->remove();
266
267 QCOMPARE(functionCurve->functionData().at(0).curve(), nullptr);
268 QCOMPARE(functionCurve->functionData().at(0).curvePath(), i18n("Project") + QStringLiteral("/Worksheet/plot/eq"));
269
270 p->addChild(new XYEquationCurve(QLatin1String("eqDifferent"))); // different name than eq!
271 auto eqs = p->children(AspectType::XYEquationCurve);
272 QCOMPARE(eqs.count(), 1);
273 auto* equationCurveNew = static_cast<XYEquationCurve*>(eqs.at(0));

Callers

nothing calls this directly

Calls 15

setEquationDataMethod · 0.80
setFunctionMethod · 0.80
curveMethod · 0.80
curvePathMethod · 0.80
QStringClass · 0.50
XYFunctionCurveDockClass · 0.50
addChildMethod · 0.45
setTypeMethod · 0.45
childrenMethod · 0.45
countMethod · 0.45
rowCountMethod · 0.45
setupGeneralMethod · 0.45

Tested by

no test coverage detected