2020-03-28 22:45:44 -06:00
|
|
|
/*----------------------------------------------------------------------------*/
|
|
|
|
|
/* Copyright (c) 2018-2019 FIRST. All Rights Reserved. */
|
|
|
|
|
/* Open Source Software - may be modified and shared by FRC teams. The code */
|
|
|
|
|
/* must be accompanied by the FIRST BSD license file in the root directory of */
|
|
|
|
|
/* the project. */
|
|
|
|
|
/*----------------------------------------------------------------------------*/
|
|
|
|
|
|
2020-03-28 23:15:45 -06:00
|
|
|
package frc4388.utility;
|
2020-03-28 22:45:44 -06:00
|
|
|
|
|
|
|
|
import static org.junit.Assert.*;
|
|
|
|
|
import static org.mockito.Mockito.*;
|
2020-03-28 23:15:45 -06:00
|
|
|
import org.junit.*;
|
2020-03-28 22:45:44 -06:00
|
|
|
|
|
|
|
|
import edu.wpi.first.wpilibj.*;
|
2020-03-28 23:15:45 -06:00
|
|
|
import com.ctre.phoenix.sensors.PigeonIMU;
|
2020-03-28 22:45:44 -06:00
|
|
|
import frc4388.utility.RobotGyro;
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
* Add your docs here.
|
|
|
|
|
*/
|
2020-03-28 23:15:45 -06:00
|
|
|
public class RobotGyroUtilityTest {
|
|
|
|
|
// Arrange
|
|
|
|
|
RobotGyro gyro = new RobotGyro(mock(PigeonIMU.class));
|
2020-03-28 22:45:44 -06:00
|
|
|
|
|
|
|
|
@Test
|
2020-03-28 23:15:45 -06:00
|
|
|
public void testHeading() {
|
2020-03-28 22:45:44 -06:00
|
|
|
// Act & Assert
|
|
|
|
|
assertEquals(-90, gyro.getHeading(270), 0.0001);
|
|
|
|
|
assertEquals(-45, gyro.getHeading(315), 0.0001);
|
|
|
|
|
assertEquals(-60, gyro.getHeading(-60), 0.0001);
|
|
|
|
|
assertEquals(30, gyro.getHeading(30), 0.0001);
|
2020-03-28 22:49:32 -06:00
|
|
|
assertEquals(0, gyro.getHeading(0), 0.0001);
|
2020-03-28 22:45:44 -06:00
|
|
|
assertEquals(180, gyro.getHeading(180), 0.0001);
|
|
|
|
|
assertEquals(-180, gyro.getHeading(-180), 0.0001);
|
|
|
|
|
assertEquals(97, gyro.getHeading(1537), 0.0001);
|
|
|
|
|
assertEquals(99, gyro.getHeading(-2781), 0.0001);
|
|
|
|
|
}
|
|
|
|
|
}
|