mirror of
https://github.com/Team254/cheesy-arena-lite.git
synced 2026-03-10 14:16:47 -04:00
Fix errors flagged by new version of Go.
This commit is contained in:
@@ -74,7 +74,7 @@ func (arena *Arena) listenForDsUdpPackets() {
|
|||||||
udpAddress, _ := net.ResolveUDPAddr("udp4", fmt.Sprintf(":%d", driverStationUdpReceivePort))
|
udpAddress, _ := net.ResolveUDPAddr("udp4", fmt.Sprintf(":%d", driverStationUdpReceivePort))
|
||||||
listener, err := net.ListenUDP("udp4", udpAddress)
|
listener, err := net.ListenUDP("udp4", udpAddress)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
log.Fatalln("Error opening driver station UDP socket: %v", err.Error())
|
log.Fatalf("Error opening driver station UDP socket: %v", err)
|
||||||
}
|
}
|
||||||
log.Printf("Listening for driver stations on UDP port %d\n", driverStationUdpReceivePort)
|
log.Printf("Listening for driver stations on UDP port %d\n", driverStationUdpReceivePort)
|
||||||
|
|
||||||
|
|||||||
@@ -10,22 +10,22 @@ import (
|
|||||||
|
|
||||||
func TestOwnership(t *testing.T) {
|
func TestOwnership(t *testing.T) {
|
||||||
ownership := Ownership{nil, redAlliance, timeAfterStart(1), nil}
|
ownership := Ownership{nil, redAlliance, timeAfterStart(1), nil}
|
||||||
assert.Equal(t, 0, ownership.getSeconds(timeAfterStart(0), timeAfterStart(0), true))
|
assert.Equal(t, 0.0, ownership.getSeconds(timeAfterStart(0), timeAfterStart(0), true))
|
||||||
assert.Equal(t, 0.5, ownership.getSeconds(timeAfterStart(0), timeAfterStart(1.5), true))
|
assert.Equal(t, 0.5, ownership.getSeconds(timeAfterStart(0), timeAfterStart(1.5), true))
|
||||||
assert.Equal(t, 8.75, ownership.getSeconds(timeAfterStart(0), timeAfterStart(9.75), true))
|
assert.Equal(t, 8.75, ownership.getSeconds(timeAfterStart(0), timeAfterStart(9.75), true))
|
||||||
|
|
||||||
// Check with truncated start.
|
// Check with truncated start.
|
||||||
assert.Equal(t, 2.5, ownership.getSeconds(timeAfterStart(1.5), timeAfterStart(4), true))
|
assert.Equal(t, 2.5, ownership.getSeconds(timeAfterStart(1.5), timeAfterStart(4), true))
|
||||||
assert.Equal(t, 5, ownership.getSeconds(timeAfterStart(5), timeAfterStart(10), true))
|
assert.Equal(t, 5.0, ownership.getSeconds(timeAfterStart(5), timeAfterStart(10), true))
|
||||||
|
|
||||||
// Check with end time.
|
// Check with end time.
|
||||||
endTime := timeAfterStart(13.5)
|
endTime := timeAfterStart(13.5)
|
||||||
ownership.endTime = &endTime
|
ownership.endTime = &endTime
|
||||||
assert.Equal(t, 12.5, ownership.getSeconds(timeAfterStart(0), timeAfterStart(15), true))
|
assert.Equal(t, 12.5, ownership.getSeconds(timeAfterStart(0), timeAfterStart(15), true))
|
||||||
assert.Equal(t, 4, ownership.getSeconds(timeAfterStart(9.5), timeAfterStart(20), true))
|
assert.Equal(t, 4.0, ownership.getSeconds(timeAfterStart(9.5), timeAfterStart(20), true))
|
||||||
|
|
||||||
// Check invalid/corner cases.
|
// Check invalid/corner cases.
|
||||||
assert.Equal(t, 0, ownership.getSeconds(timeAfterStart(2), timeAfterStart(1), true))
|
assert.Equal(t, 0.0, ownership.getSeconds(timeAfterStart(2), timeAfterStart(1), true))
|
||||||
}
|
}
|
||||||
|
|
||||||
func TestSecondCounting(t *testing.T) {
|
func TestSecondCounting(t *testing.T) {
|
||||||
@@ -39,12 +39,12 @@ func TestSecondCounting(t *testing.T) {
|
|||||||
redSwitch.UpdateState([2]bool{false, false}, timeAfterStart(-12))
|
redSwitch.UpdateState([2]bool{false, false}, timeAfterStart(-12))
|
||||||
redSwitch.UpdateState([2]bool{false, true}, timeAfterStart(-9))
|
redSwitch.UpdateState([2]bool{false, true}, timeAfterStart(-9))
|
||||||
redSwitch.UpdateState([2]bool{false, false}, timeAfterStart(-3))
|
redSwitch.UpdateState([2]bool{false, false}, timeAfterStart(-3))
|
||||||
assert.Equal(t, 0, redSwitch.GetRedSeconds(timeAfterStart(0), timeAfterStart(0)))
|
assert.Equal(t, 0.0, redSwitch.GetRedSeconds(timeAfterStart(0), timeAfterStart(0)))
|
||||||
assert.Equal(t, 0, redSwitch.GetBlueSeconds(timeAfterStart(0), timeAfterStart(0)))
|
assert.Equal(t, 0.0, redSwitch.GetBlueSeconds(timeAfterStart(0), timeAfterStart(0)))
|
||||||
|
|
||||||
// Test autonomous.
|
// Test autonomous.
|
||||||
redSwitch.UpdateState([2]bool{true, false}, timeAfterStart(1))
|
redSwitch.UpdateState([2]bool{true, false}, timeAfterStart(1))
|
||||||
assert.Equal(t, 1, redSwitch.GetRedSeconds(timeAfterStart(0), timeAfterStart(2)))
|
assert.Equal(t, 1.0, redSwitch.GetRedSeconds(timeAfterStart(0), timeAfterStart(2)))
|
||||||
assert.Equal(t, 5.5, redSwitch.GetRedSeconds(timeAfterStart(0), timeAfterStart(6.5)))
|
assert.Equal(t, 5.5, redSwitch.GetRedSeconds(timeAfterStart(0), timeAfterStart(6.5)))
|
||||||
redSwitch.UpdateState([2]bool{false, false}, timeAfterStart(8.1))
|
redSwitch.UpdateState([2]bool{false, false}, timeAfterStart(8.1))
|
||||||
assert.Equal(t, 7.1, redSwitch.GetRedSeconds(timeAfterStart(0), timeAfterStart(8.5)))
|
assert.Equal(t, 7.1, redSwitch.GetRedSeconds(timeAfterStart(0), timeAfterStart(8.5)))
|
||||||
@@ -56,7 +56,7 @@ func TestSecondCounting(t *testing.T) {
|
|||||||
assert.Equal(t, 8.2, redSwitch.GetRedSeconds(timeAfterStart(0), timeAfterStart(15)))
|
assert.Equal(t, 8.2, redSwitch.GetRedSeconds(timeAfterStart(0), timeAfterStart(15)))
|
||||||
|
|
||||||
// Test teleop.
|
// Test teleop.
|
||||||
assert.Equal(t, 3, redSwitch.GetRedSeconds(timeAfterStart(17), timeAfterStart(20)))
|
assert.Equal(t, 3.0, redSwitch.GetRedSeconds(timeAfterStart(17), timeAfterStart(20)))
|
||||||
redSwitch.UpdateState([2]bool{false, false}, timeAfterStart(30.8))
|
redSwitch.UpdateState([2]bool{false, false}, timeAfterStart(30.8))
|
||||||
assert.Equal(t, 13.8, redSwitch.GetRedSeconds(timeAfterStart(17), timeAfterStart(34)))
|
assert.Equal(t, 13.8, redSwitch.GetRedSeconds(timeAfterStart(17), timeAfterStart(34)))
|
||||||
redSwitch.UpdateState([2]bool{false, true}, timeAfterStart(35))
|
redSwitch.UpdateState([2]bool{false, true}, timeAfterStart(35))
|
||||||
@@ -82,13 +82,13 @@ func TestForce(t *testing.T) {
|
|||||||
blueSwitch.UpdateState([2]bool{true, false}, timeAfterStart(2.5))
|
blueSwitch.UpdateState([2]bool{true, false}, timeAfterStart(2.5))
|
||||||
scale.UpdateState([2]bool{true, false}, timeAfterStart(2.5))
|
scale.UpdateState([2]bool{true, false}, timeAfterStart(2.5))
|
||||||
assert.Equal(t, 2.5, blueSwitch.GetBlueSeconds(timeAfterStart(0), timeAfterStart(5)))
|
assert.Equal(t, 2.5, blueSwitch.GetBlueSeconds(timeAfterStart(0), timeAfterStart(5)))
|
||||||
assert.Equal(t, 0, scale.GetBlueSeconds(timeAfterStart(0), timeAfterStart(5)))
|
assert.Equal(t, 0.0, scale.GetBlueSeconds(timeAfterStart(0), timeAfterStart(5)))
|
||||||
assert.Equal(t, 10, blueSwitch.GetBlueSeconds(timeAfterStart(0), timeAfterStart(12.5)))
|
assert.Equal(t, 10.0, blueSwitch.GetBlueSeconds(timeAfterStart(0), timeAfterStart(12.5)))
|
||||||
assert.Equal(t, 0, scale.GetBlueSeconds(timeAfterStart(0), timeAfterStart(12.5)))
|
assert.Equal(t, 0.0, scale.GetBlueSeconds(timeAfterStart(0), timeAfterStart(12.5)))
|
||||||
blueSwitch.UpdateState([2]bool{true, false}, timeAfterStart(12.5))
|
blueSwitch.UpdateState([2]bool{true, false}, timeAfterStart(12.5))
|
||||||
scale.UpdateState([2]bool{true, false}, timeAfterStart(12.5))
|
scale.UpdateState([2]bool{true, false}, timeAfterStart(12.5))
|
||||||
assert.Equal(t, 10, blueSwitch.GetBlueSeconds(timeAfterStart(0), timeAfterStart(15)))
|
assert.Equal(t, 10.0, blueSwitch.GetBlueSeconds(timeAfterStart(0), timeAfterStart(15)))
|
||||||
assert.Equal(t, 0, scale.GetBlueSeconds(timeAfterStart(0), timeAfterStart(15)))
|
assert.Equal(t, 0.0, scale.GetBlueSeconds(timeAfterStart(0), timeAfterStart(15)))
|
||||||
|
|
||||||
// Force scale only.
|
// Force scale only.
|
||||||
powerUp = &PowerUp{alliance: blueAlliance, kind: force, level: 2}
|
powerUp = &PowerUp{alliance: blueAlliance, kind: force, level: 2}
|
||||||
@@ -97,8 +97,8 @@ func TestForce(t *testing.T) {
|
|||||||
scale.UpdateState([2]bool{true, false}, timeAfterStart(20))
|
scale.UpdateState([2]bool{true, false}, timeAfterStart(20))
|
||||||
blueSwitch.UpdateState([2]bool{true, false}, timeAfterStart(30))
|
blueSwitch.UpdateState([2]bool{true, false}, timeAfterStart(30))
|
||||||
scale.UpdateState([2]bool{true, false}, timeAfterStart(30))
|
scale.UpdateState([2]bool{true, false}, timeAfterStart(30))
|
||||||
assert.Equal(t, 0, blueSwitch.GetBlueSeconds(timeAfterStart(20), timeAfterStart(40)))
|
assert.Equal(t, 0.0, blueSwitch.GetBlueSeconds(timeAfterStart(20), timeAfterStart(40)))
|
||||||
assert.Equal(t, 10, scale.GetBlueSeconds(timeAfterStart(20), timeAfterStart(40)))
|
assert.Equal(t, 10.0, scale.GetBlueSeconds(timeAfterStart(20), timeAfterStart(40)))
|
||||||
|
|
||||||
// Force both switch and scale.
|
// Force both switch and scale.
|
||||||
powerUp = &PowerUp{alliance: blueAlliance, kind: force, level: 3}
|
powerUp = &PowerUp{alliance: blueAlliance, kind: force, level: 3}
|
||||||
@@ -107,8 +107,8 @@ func TestForce(t *testing.T) {
|
|||||||
scale.UpdateState([2]bool{true, false}, timeAfterStart(50))
|
scale.UpdateState([2]bool{true, false}, timeAfterStart(50))
|
||||||
blueSwitch.UpdateState([2]bool{true, false}, timeAfterStart(60))
|
blueSwitch.UpdateState([2]bool{true, false}, timeAfterStart(60))
|
||||||
scale.UpdateState([2]bool{true, false}, timeAfterStart(60))
|
scale.UpdateState([2]bool{true, false}, timeAfterStart(60))
|
||||||
assert.Equal(t, 10, blueSwitch.GetBlueSeconds(timeAfterStart(50), timeAfterStart(70)))
|
assert.Equal(t, 10.0, blueSwitch.GetBlueSeconds(timeAfterStart(50), timeAfterStart(70)))
|
||||||
assert.Equal(t, 10, scale.GetBlueSeconds(timeAfterStart(50), timeAfterStart(70)))
|
assert.Equal(t, 10.0, scale.GetBlueSeconds(timeAfterStart(50), timeAfterStart(70)))
|
||||||
}
|
}
|
||||||
|
|
||||||
func TestBoost(t *testing.T) {
|
func TestBoost(t *testing.T) {
|
||||||
@@ -124,13 +124,13 @@ func TestBoost(t *testing.T) {
|
|||||||
scale.UpdateState([2]bool{true, false}, timeAfterStart(20))
|
scale.UpdateState([2]bool{true, false}, timeAfterStart(20))
|
||||||
powerUp := &PowerUp{alliance: blueAlliance, kind: boost, level: 2}
|
powerUp := &PowerUp{alliance: blueAlliance, kind: boost, level: 2}
|
||||||
maybeActivatePowerUp(powerUp, timeAfterStart(25))
|
maybeActivatePowerUp(powerUp, timeAfterStart(25))
|
||||||
assert.Equal(t, 5, scale.GetBlueSeconds(timeAfterStart(0), timeAfterStart(25)))
|
assert.Equal(t, 5.0, scale.GetBlueSeconds(timeAfterStart(0), timeAfterStart(25)))
|
||||||
assert.Equal(t, 6, scale.GetBlueSeconds(timeAfterStart(0), timeAfterStart(25.5)))
|
assert.Equal(t, 6.0, scale.GetBlueSeconds(timeAfterStart(0), timeAfterStart(25.5)))
|
||||||
assert.Equal(t, 7.5, scale.GetBlueSeconds(timeAfterStart(0), timeAfterStart(26.25)))
|
assert.Equal(t, 7.5, scale.GetBlueSeconds(timeAfterStart(0), timeAfterStart(26.25)))
|
||||||
assert.Equal(t, 15, scale.GetBlueSeconds(timeAfterStart(0), timeAfterStart(30)))
|
assert.Equal(t, 15.0, scale.GetBlueSeconds(timeAfterStart(0), timeAfterStart(30)))
|
||||||
assert.Equal(t, 25, scale.GetBlueSeconds(timeAfterStart(0), timeAfterStart(35)))
|
assert.Equal(t, 25.0, scale.GetBlueSeconds(timeAfterStart(0), timeAfterStart(35)))
|
||||||
assert.Equal(t, 30, scale.GetBlueSeconds(timeAfterStart(0), timeAfterStart(40)))
|
assert.Equal(t, 30.0, scale.GetBlueSeconds(timeAfterStart(0), timeAfterStart(40)))
|
||||||
assert.Equal(t, 20, blueSwitch.GetBlueSeconds(timeAfterStart(0), timeAfterStart(40)))
|
assert.Equal(t, 20.0, blueSwitch.GetBlueSeconds(timeAfterStart(0), timeAfterStart(40)))
|
||||||
|
|
||||||
// Test with no ownership at the start.
|
// Test with no ownership at the start.
|
||||||
ResetPowerUps()
|
ResetPowerUps()
|
||||||
@@ -138,33 +138,33 @@ func TestBoost(t *testing.T) {
|
|||||||
scale.UpdateState([2]bool{false, false}, timeAfterStart(44))
|
scale.UpdateState([2]bool{false, false}, timeAfterStart(44))
|
||||||
powerUp = &PowerUp{alliance: blueAlliance, kind: boost, level: 3}
|
powerUp = &PowerUp{alliance: blueAlliance, kind: boost, level: 3}
|
||||||
maybeActivatePowerUp(powerUp, timeAfterStart(45))
|
maybeActivatePowerUp(powerUp, timeAfterStart(45))
|
||||||
assert.Equal(t, 0, blueSwitch.GetBlueSeconds(timeAfterStart(45), timeAfterStart(50)))
|
assert.Equal(t, 0.0, blueSwitch.GetBlueSeconds(timeAfterStart(45), timeAfterStart(50)))
|
||||||
assert.Equal(t, 0, scale.GetBlueSeconds(timeAfterStart(45), timeAfterStart(50)))
|
assert.Equal(t, 0.0, scale.GetBlueSeconds(timeAfterStart(45), timeAfterStart(50)))
|
||||||
blueSwitch.UpdateState([2]bool{false, true}, timeAfterStart(50))
|
blueSwitch.UpdateState([2]bool{false, true}, timeAfterStart(50))
|
||||||
scale.UpdateState([2]bool{true, false}, timeAfterStart(50))
|
scale.UpdateState([2]bool{true, false}, timeAfterStart(50))
|
||||||
assert.Equal(t, 10, blueSwitch.GetBlueSeconds(timeAfterStart(45), timeAfterStart(55)))
|
assert.Equal(t, 10.0, blueSwitch.GetBlueSeconds(timeAfterStart(45), timeAfterStart(55)))
|
||||||
assert.Equal(t, 15, blueSwitch.GetBlueSeconds(timeAfterStart(45), timeAfterStart(60)))
|
assert.Equal(t, 15.0, blueSwitch.GetBlueSeconds(timeAfterStart(45), timeAfterStart(60)))
|
||||||
assert.Equal(t, 10, scale.GetBlueSeconds(timeAfterStart(45), timeAfterStart(55)))
|
assert.Equal(t, 10.0, scale.GetBlueSeconds(timeAfterStart(45), timeAfterStart(55)))
|
||||||
assert.Equal(t, 15, scale.GetBlueSeconds(timeAfterStart(45), timeAfterStart(60)))
|
assert.Equal(t, 15.0, scale.GetBlueSeconds(timeAfterStart(45), timeAfterStart(60)))
|
||||||
|
|
||||||
// Test with interrupted ownership.
|
// Test with interrupted ownership.
|
||||||
ResetPowerUps()
|
ResetPowerUps()
|
||||||
scale.UpdateState([2]bool{false, true}, timeAfterStart(65))
|
scale.UpdateState([2]bool{false, true}, timeAfterStart(65))
|
||||||
assert.Equal(t, 5, scale.GetRedSeconds(timeAfterStart(65), timeAfterStart(70)))
|
assert.Equal(t, 5.0, scale.GetRedSeconds(timeAfterStart(65), timeAfterStart(70)))
|
||||||
powerUp = &PowerUp{alliance: redAlliance, kind: boost, level: 2}
|
powerUp = &PowerUp{alliance: redAlliance, kind: boost, level: 2}
|
||||||
maybeActivatePowerUp(powerUp, timeAfterStart(70))
|
maybeActivatePowerUp(powerUp, timeAfterStart(70))
|
||||||
scale.UpdateState([2]bool{false, false}, timeAfterStart(72.5))
|
scale.UpdateState([2]bool{false, false}, timeAfterStart(72.5))
|
||||||
assert.Equal(t, 10, scale.GetRedSeconds(timeAfterStart(65), timeAfterStart(72.5)))
|
assert.Equal(t, 10.0, scale.GetRedSeconds(timeAfterStart(65), timeAfterStart(72.5)))
|
||||||
assert.Equal(t, 10, scale.GetRedSeconds(timeAfterStart(65), timeAfterStart(77.5)))
|
assert.Equal(t, 10.0, scale.GetRedSeconds(timeAfterStart(65), timeAfterStart(77.5)))
|
||||||
scale.UpdateState([2]bool{false, true}, timeAfterStart(77.5))
|
scale.UpdateState([2]bool{false, true}, timeAfterStart(77.5))
|
||||||
assert.Equal(t, 15, scale.GetRedSeconds(timeAfterStart(65), timeAfterStart(80)))
|
assert.Equal(t, 15.0, scale.GetRedSeconds(timeAfterStart(65), timeAfterStart(80)))
|
||||||
assert.Equal(t, 20, scale.GetRedSeconds(timeAfterStart(65), timeAfterStart(85)))
|
assert.Equal(t, 20.0, scale.GetRedSeconds(timeAfterStart(65), timeAfterStart(85)))
|
||||||
|
|
||||||
// Test with just the switch.
|
// Test with just the switch.
|
||||||
blueSwitch.UpdateState([2]bool{false, true}, timeAfterStart(100))
|
blueSwitch.UpdateState([2]bool{false, true}, timeAfterStart(100))
|
||||||
scale.UpdateState([2]bool{true, false}, timeAfterStart(100))
|
scale.UpdateState([2]bool{true, false}, timeAfterStart(100))
|
||||||
powerUp = &PowerUp{alliance: blueAlliance, kind: boost, level: 1}
|
powerUp = &PowerUp{alliance: blueAlliance, kind: boost, level: 1}
|
||||||
maybeActivatePowerUp(powerUp, timeAfterStart(100))
|
maybeActivatePowerUp(powerUp, timeAfterStart(100))
|
||||||
assert.Equal(t, 20, blueSwitch.GetBlueSeconds(timeAfterStart(100), timeAfterStart(110)))
|
assert.Equal(t, 20.0, blueSwitch.GetBlueSeconds(timeAfterStart(100), timeAfterStart(110)))
|
||||||
assert.Equal(t, 10, scale.GetBlueSeconds(timeAfterStart(100), timeAfterStart(110)))
|
assert.Equal(t, 10.0, scale.GetBlueSeconds(timeAfterStart(100), timeAfterStart(110)))
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user