RoboidControl-cpp/test/BB2B_Test.cc
Pascal Serrarens a31440eee2 Fixed test
2024-01-04 16:53:59 +01:00

40 lines
1.1 KiB
C++

// #if GTEST
#include <gtest/gtest.h>
#include "DifferentialDrive.h"
#include "DistanceSensor.h"
#include "Roboid.h"
TEST(BB2B, Basics) {
Motor *motorLeft = new Motor();
Motor *motorRight = new Motor();
DistanceSensor *sensorLeft = new DistanceSensor();
sensorLeft->position.angle = -30;
DistanceSensor *sensorRight = new DistanceSensor();
sensorRight->position.angle = 30;
Sensor *sensors[] = {sensorLeft, sensorRight};
Perception *perception = new Perception(sensors, 2);
DifferentialDrive *propulsion = new DifferentialDrive(motorLeft, motorRight);
Roboid *roboid = new Roboid(perception, propulsion);
bool obstacleLeft = roboid->perception->ObjectNearby(-30);
bool obstacleRight = roboid->perception->ObjectNearby(30);
EXPECT_FALSE(obstacleLeft);
EXPECT_FALSE(obstacleRight);
float leftMotorSpeed = obstacleRight ? -1.0F : 1.0F;
float rightMotorSpeed = obstacleLeft ? -1.0F : 1.0F;
DifferentialDrive *diffDrive = (DifferentialDrive *)roboid->propulsion;
diffDrive->SetTargetSpeeds(leftMotorSpeed, rightMotorSpeed);
// cannot chek verlocity in this branch?
}
// #endif