Cours:ClasseTestMotorDriverMD04

De troyesGEII
Aller à : navigation, rechercher

testmotordrivermd04.h

#ifndef TESTMOTORDRIVERMD04_H
#define TESTMOTORDRIVERMD04_H

#include <QtTest/QTest>
#include <QObject>

class TestMotorDriverMD04 : public QObject
{
    Q_OBJECT
public:
    explicit TestMotorDriverMD04(QObject *parent = nullptr);
private slots:
    void setVitesse_data();
    void setVitesse();

signals:

};

#endif // TESTMOTORDRIVERMD04_H

testmotordrivermd04.cpp

#include "testmotordrivermd04.h"
#include "motordrivermd04.h"

TestMotorDriverMD04::TestMotorDriverMD04(QObject *parent)
    : QObject{parent}
{

}

void TestMotorDriverMD04::setVitesse_data()
{
    QTest::addColumn<double>("vitesse");
    QTest::addColumn<int>("regSensValue");
    QTest::addColumn<int>("regSpeedValue");
    QTest::newRow("") << 0.0 << 1 <<0;
    QTest::newRow("") << 0.1 << 1 << 25;
    QTest::newRow("") << -0.1 << 2 << 25;
    QTest::newRow("") << 0.0 << 1 << 0;
}

void TestMotorDriverMD04::setVitesse()
{
    QFETCH(double, vitesse);
    QFETCH(int, regSensValue);
    QFETCH(int, regSpeedValue);

    MotorDriverMD04 moteur;
    QI2cDevice i2c{I2C1,0x58};


    moteur.setVitesse(vitesse);

    unsigned char sensValue=i2c.readRegister(0);
    unsigned char speedValue=i2c.readRegister(2);

    QCOMPARE(regSpeedValue,speedValue);
    QCOMPARE(regSensValue,sensValue);

}
//main.cpp
#include "testmotordrivermd04.h"
QTEST_MAIN(TestMotorDriverMD04);