#include "portextensiontests.h" #include "util.h" #include "json.hpp" #include PortExtensionTests::PortExtensionTests() : QObject(nullptr) { // create dummy data: port 1 is a simple open, port 2 is open with 1ns of (one-way) delay and some loss constexpr double startFreq = 1000000; constexpr double stopFreq = 6000000000; constexpr int steps = 501; for(int i=0;ifromJSON(j); pe2->edit(); pe2->measurementCompleted(dummyData); j = pe2->toJSON(); QVERIFY(qFuzzyCompare((float)j.value("delay", 0.0), (float)1e-9)); QVERIFY(qFuzzyCompare((float)j.value("DCloss", 0.0), (float)(-10*log10(0.5)))); auto pe1 = new PortExtension(); j.clear(); j["port"] = 1; pe1->fromJSON(j); pe1->edit(); pe1->measurementCompleted(dummyData); j = pe1->toJSON(); QVERIFY(qFuzzyIsNull((float)j.value("delay", 0.0))); QVERIFY(qFuzzyIsNull((float)j.value("DCloss", 0.0))); } void PortExtensionTests::correct() { auto pe = new PortExtension(); nlohmann::json j; j["port"] = 2; pe->fromJSON(j); pe->edit(); pe->measurementCompleted(dummyData); for(auto m : dummyData) { pe->transformDatapoint(m); QVERIFY(qFuzzyIsNull((float)m.measurements["S22"].imag())); QVERIFY(qFuzzyCompare((float)m.measurements["S22"].real(), 1.0f)); } }