summaryrefslogtreecommitdiff
path: root/tests/fute/charts
diff options
context:
space:
mode:
Diffstat (limited to 'tests/fute/charts')
-rw-r--r--tests/fute/charts/charts.pro35
-rw-r--r--tests/fute/charts/charts_test.cpp52
-rw-r--r--tests/fute/charts/charts_test.h31
-rw-r--r--tests/fute/charts/main.cpp12
4 files changed, 130 insertions, 0 deletions
diff --git a/tests/fute/charts/charts.pro b/tests/fute/charts/charts.pro
new file mode 100644
index 0000000..613fee8
--- /dev/null
+++ b/tests/fute/charts/charts.pro
@@ -0,0 +1,35 @@
+TEMPLATE = app
+QT += widgets
+TARGET = charts_test
+DEPENDPATH += .
+INCLUDEPATH += .
+QMAKE_CXXFLAGS += -std=gnu++11
+DESTDIR = ./
+
+win32: {
+ CONFIG += console
+ }
+
+HEADERS = \
+ charts_test.h \
+ ../../../src/charts/Chart.h \
+ ../../../src/charts/TimeChart.h \
+ ../../../src/charts/DataPoint.h \
+ ../../../src/charts/ChartScene.h \
+ ../../../src/charts/ChartView.h \
+ ../../../src/charts/ChartAxes.h \
+ ../../../src/charts/ChartDataLine.h \
+ ../../../src/charts/ChartMarker.h \
+ ../../../src/charts/ChartToolTip.h
+
+SOURCES = \
+ main.cpp \
+ charts_test.cpp \
+ ../../../src/charts/Chart.cpp \
+ ../../../src/charts/TimeChart.cpp \
+ ../../../src/charts/ChartScene.cpp \
+ ../../../src/charts/ChartView.cpp \
+ ../../../src/charts/ChartAxes.cpp \
+ ../../../src/charts/ChartDataLine.cpp \
+ ../../../src/charts/ChartMarker.cpp \
+ ../../../src/charts/ChartToolTip.cpp
diff --git a/tests/fute/charts/charts_test.cpp b/tests/fute/charts/charts_test.cpp
new file mode 100644
index 0000000..0870027
--- /dev/null
+++ b/tests/fute/charts/charts_test.cpp
@@ -0,0 +1,52 @@
+#include "charts_test.h"
+#include "../../../src/charts/Chart.h"
+
+#include <cstdlib>
+#include <time.h>
+
+ChartsTest::ChartsTest()
+{
+ srand(time(NULL));
+ createUi();
+ changeDataSet();
+}
+
+void ChartsTest::changeDataSet()
+{
+ const int daysNum = 7;
+ yValuesStr = "Values: ";
+ dataSet.clear();
+ for (int i = 0; i < daysNum; i++)
+ addDataPoint(i);
+ chart->setDataSet(dataSet);
+ valuesLabel->setText(yValuesStr);
+}
+
+void ChartsTest::addDataPoint(int index)
+{
+ const int firstDay = 15;
+ QString xLabel = QString::number(firstDay + index) + ".11";
+ int yValue = rand() % 70;
+ dataSet << DataPoint(xLabel, yValue, xLabel);
+ yValuesStr += QString::number(yValue) + ", ";
+}
+
+void ChartsTest::createUi()
+{
+ QPushButton* newBtn = new QPushButton(tr("New chart"));
+ connect(newBtn, SIGNAL(clicked()), SLOT(changeDataSet()));
+
+ valuesLabel = new QLabel;
+ chart = new Chart;
+ chart->setLabels("Date", "Value");
+
+ QHBoxLayout* controlLt = new QHBoxLayout;
+ controlLt->addWidget(valuesLabel);
+ controlLt->addWidget(newBtn);
+
+ QVBoxLayout* mainLt = new QVBoxLayout;
+ mainLt->addLayout(controlLt);
+ mainLt->addWidget(chart);
+ setLayout(mainLt);
+ resize(800, 500);
+}
diff --git a/tests/fute/charts/charts_test.h b/tests/fute/charts/charts_test.h
new file mode 100644
index 0000000..3975444
--- /dev/null
+++ b/tests/fute/charts/charts_test.h
@@ -0,0 +1,31 @@
+#ifndef CHARTS_TEST_H
+#define CHARTS_TEST_H
+
+#include <QtCore>
+#include <QtWidgets>
+
+#include "../../../src/charts/DataPoint.h"
+
+class Chart;
+
+class ChartsTest: public QWidget
+{
+ Q_OBJECT
+public:
+ ChartsTest();
+
+private:
+ void createUi();
+ void addDataPoint(int index);
+
+private slots:
+ void changeDataSet();
+
+private:
+ QString yValuesStr;
+ Chart* chart;
+ QList<DataPoint> dataSet;
+ QLabel* valuesLabel;
+};
+
+#endif
diff --git a/tests/fute/charts/main.cpp b/tests/fute/charts/main.cpp
new file mode 100644
index 0000000..346133d
--- /dev/null
+++ b/tests/fute/charts/main.cpp
@@ -0,0 +1,12 @@
+#include <QtWidgets>
+
+#include "charts_test.h"
+
+int main(int argc, char *argv[])
+{
+ QApplication app(argc, argv);
+ ChartsTest mainWin;
+ mainWin.show();
+ return app.exec();
+}
+