// #if GTEST #include #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