Files
sim/tests/services/test_Surplus.cpp
2025-03-14 16:25:25 +01:00

39 lines
1.5 KiB
C++

//
// Created by StanislausCichocki on 10.03.2025.
//
#include <spdlog/spdlog.h>
#include "../../src/services/Surplus.h"
#include "../../src/services/Cost/BillCharge.h"
#include "../../src/services/Cost/CalculateFinalSums.h"
#include "../../src/services/Cost/CostPipeline.h"
#include "../../src/services/Cost/NetworkProvider.h"
#include "../../src/services/Cost/ServiceCharge.h"
#include "../../src/services/Cost/GridCost/MeasurementServiceFee.h"
#include "../../src/services/Cost/GridCost/NetUsagePerformance.h"
#include "doctest/doctest.h"
#include "../model/Factory.h"
#include "../../src/Config.h"
TEST_CASE("Testing add function") {
std::vector<std::unique_ptr<Community> > communities;
for (int i = 0; i < 3; i++) {
communities.push_back(Factory::create_test_community());
}
Surplus surplus(communities);
surplus.CalculateSurplus();
LOG_DEBUG_INFO("Add components");
CostPipeline costPipeline(communities);
costPipeline.addCostComponent(std::make_shared<NetworkProvider>());
costPipeline.addCostComponent(std::make_shared<BillCharge>());
costPipeline.addCostComponent(std::make_shared<MeasurementServiceFee>());
costPipeline.addCostComponent(std::make_shared<NetUsagePerformance>());
costPipeline.addCostComponent(std::make_shared<ServiceCharge>());
costPipeline.addCostComponent(std::make_shared<CalculateFinalSums>());
costPipeline.calculateFinalCost();
LOG_DEBUG_INFO("{}",communities[0]->total);
CHECK(true);
}