Start test-case for Neuhauser/Stockerau/748w
This commit is contained in:
parent
57ccbc150a
commit
f0dca3917c
@ -36,7 +36,7 @@ extern "C" char* strptime(const char* s,
|
|||||||
#include "calculator_functions.h"
|
#include "calculator_functions.h"
|
||||||
#include "calculate_price.h"
|
#include "calculate_price.h"
|
||||||
|
|
||||||
#define SZEGED (1)
|
#define SZEGED (0)
|
||||||
#define SCHOENAU_KOENIGSEE (0)
|
#define SCHOENAU_KOENIGSEE (0)
|
||||||
#define NEUHAUSER_KORNEUBURG (0)
|
#define NEUHAUSER_KORNEUBURG (0)
|
||||||
#define NEUHAUSER_LINSINGER_MASCHINENBAU (0)
|
#define NEUHAUSER_LINSINGER_MASCHINENBAU (0)
|
||||||
@ -45,6 +45,7 @@ extern "C" char* strptime(const char* s,
|
|||||||
#define BAD_NEUENAHR_AHRWEILER (0)
|
#define BAD_NEUENAHR_AHRWEILER (0)
|
||||||
#define NEUHAUSER_CHRISTOPH_REISEN (0)
|
#define NEUHAUSER_CHRISTOPH_REISEN (0)
|
||||||
#define NEUHAUSER_PERNEGG_AN_DER_MUR (0)
|
#define NEUHAUSER_PERNEGG_AN_DER_MUR (0)
|
||||||
|
#define NEUHAUSER_STOCKERAU (1)
|
||||||
|
|
||||||
#if NEUHAUSER_KIRCHDORF==1
|
#if NEUHAUSER_KIRCHDORF==1
|
||||||
static bool test_neuhauser_kirchdorf(int step, double cost) {
|
static bool test_neuhauser_kirchdorf(int step, double cost) {
|
||||||
@ -164,8 +165,79 @@ static bool test_neuhauser_kirchdorf(int step, double cost) {
|
|||||||
}
|
}
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
#include <cmath>
|
||||||
|
|
||||||
int main() {
|
int main() {
|
||||||
|
#if NEUHAUSER_STOCKERAU==1
|
||||||
|
std::ifstream input;
|
||||||
|
int pop_min_time;
|
||||||
|
int pop_max_time;
|
||||||
|
int pop_min_price;
|
||||||
|
int pop_max_price;
|
||||||
|
int pop_daily_card_price;
|
||||||
|
|
||||||
|
input.open("/opt/ptu5/opt/customer_748/etc/psa_tariff/tariff01.json");
|
||||||
|
|
||||||
|
std::stringstream sstr;
|
||||||
|
while(input >> sstr.rdbuf());
|
||||||
|
std::string json(sstr.str());
|
||||||
|
|
||||||
|
Configuration cfg;
|
||||||
|
|
||||||
|
bool isParsed = cfg.ParseJson(&cfg, json.c_str());
|
||||||
|
cout << endl;
|
||||||
|
|
||||||
|
if (isParsed) {
|
||||||
|
pop_min_time = get_minimal_parkingtime(&cfg);
|
||||||
|
pop_max_time = get_maximal_parkingtime(&cfg);
|
||||||
|
pop_min_price = get_minimal_parkingprice(&cfg);
|
||||||
|
pop_max_price = get_maximal_parkingprice(&cfg);
|
||||||
|
pop_daily_card_price = cfg.getPaymentOptions().pop_daily_card_price;
|
||||||
|
|
||||||
|
qCritical() << " pop_min_time: " << pop_min_time;
|
||||||
|
qCritical() << " pop_max_time: " << pop_max_time;
|
||||||
|
qCritical() << " pop_min_price: " << pop_min_price;
|
||||||
|
qCritical() << " pop_max_price: " << pop_max_price;
|
||||||
|
|
||||||
|
// tests:
|
||||||
|
// 1: Mon-Freitag: jeweils
|
||||||
|
// start 0-8.00
|
||||||
|
// start 8.00-12.00
|
||||||
|
// start 12.00-13.30
|
||||||
|
// start 13.30-18.00
|
||||||
|
// start 18.00-24.00
|
||||||
|
// alle kosten durchspielen
|
||||||
|
// 2. samstag
|
||||||
|
// start 0-8.00
|
||||||
|
// start 8.00-12.00
|
||||||
|
// start nach 12.00
|
||||||
|
// 2. sonntag
|
||||||
|
|
||||||
|
//QDateTime s(QDate(2024, 5, 27), QTime()); // monday
|
||||||
|
//QDateTime s(QDate(2024, 5, 28), QTime()); // tuesday
|
||||||
|
//QDateTime s(QDate(2024, 5, 29), QTime()); // wednesday
|
||||||
|
//QDateTime s(QDate(2024, 5, 30), QTime()); // thursday
|
||||||
|
|
||||||
|
QDateTime s(QDate(2024, 5, 31), QTime()); // friday
|
||||||
|
QDateTime end;
|
||||||
|
QDateTime start = s.addSecs(7*60*60);
|
||||||
|
|
||||||
|
CalcState cs;
|
||||||
|
for (int i = 600; i <= 600; i += 10) {
|
||||||
|
// for (int i = 70; i <= 70; i += 10) {
|
||||||
|
double cost = i;
|
||||||
|
if ((cs = compute_duration_for_parking_ticket(&cfg, start, cost, end))) { // return value
|
||||||
|
qCritical() << "start" << start.toString(Qt::ISODate);
|
||||||
|
qCritical() << " cost" << cost;
|
||||||
|
qCritical() << " end" << end.toString(Qt::ISODate) << endl;
|
||||||
|
} else {
|
||||||
|
qCritical() << "ERROR CalcState" << cs.toString();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
#endif
|
||||||
|
|
||||||
#if NEUHAUSER_PERNEGG_AN_DER_MUR==1
|
#if NEUHAUSER_PERNEGG_AN_DER_MUR==1
|
||||||
std::ifstream input;
|
std::ifstream input;
|
||||||
int pop_min_time;
|
int pop_min_time;
|
||||||
|
Loading…
Reference in New Issue
Block a user