Stash bunch of broken generated test with shitty broken mocking
This commit is contained in:
@@ -0,0 +1,106 @@
|
||||
package game
|
||||
|
||||
import (
|
||||
"testing"
|
||||
|
||||
"gitea.boner.be/bdnugget/goonscape/game/testutils"
|
||||
"gitea.boner.be/bdnugget/goonscape/types"
|
||||
pb "gitea.boner.be/bdnugget/goonserver/actions"
|
||||
rl "github.com/gen2brain/raylib-go/raylib"
|
||||
"github.com/stretchr/testify/assert"
|
||||
)
|
||||
|
||||
func TestGame_HandleInput(t *testing.T) {
|
||||
game := New()
|
||||
game.Player = &types.Player{
|
||||
ID: 1,
|
||||
Speed: 50.0,
|
||||
}
|
||||
|
||||
// Test valid click
|
||||
simulateMouseRay(rl.Ray{
|
||||
Position: rl.Vector3{X: 0, Y: 10, Z: 0},
|
||||
Direction: rl.Vector3{X: 0, Y: -1, Z: 0},
|
||||
})
|
||||
simulateMouseButton(toInt32(rl.MouseLeftButton), true)
|
||||
game.HandleInput()
|
||||
assert.NotEmpty(t, game.Player.TargetPath)
|
||||
|
||||
// Test invalid click (outside map)
|
||||
simulateMouseRay(rl.Ray{
|
||||
Position: rl.Vector3{X: 1000, Y: 10, Z: 1000},
|
||||
Direction: rl.Vector3{X: 0, Y: -1, Z: 0},
|
||||
})
|
||||
simulateMouseButton(toInt32(rl.MouseLeftButton), true)
|
||||
game.HandleInput()
|
||||
assert.Empty(t, game.Player.TargetPath)
|
||||
}
|
||||
|
||||
func TestGame_UpdateCamera(t *testing.T) {
|
||||
game := New()
|
||||
|
||||
// Test zoom limits
|
||||
testutils.SimulateMouseWheel(1.0) // Zoom in
|
||||
testutils.SimulateMouseWheel(1.0)
|
||||
assert.GreaterOrEqual(t, cameraDistance, float32(10.0))
|
||||
|
||||
testutils.SimulateMouseWheel(-1.0) // Zoom out
|
||||
testutils.SimulateMouseWheel(-1.0)
|
||||
assert.LessOrEqual(t, cameraDistance, float32(250.0))
|
||||
|
||||
// Test camera rotation
|
||||
originalYaw := cameraYaw
|
||||
testutils.SimulateKeyDown(rl.KeyRight, true)
|
||||
game.Update(0.1)
|
||||
assert.Greater(t, cameraYaw, originalYaw)
|
||||
|
||||
// Test pitch limits
|
||||
simulateKeyDown(rl.KeyUp, true)
|
||||
for i := 0; i < 100; i++ {
|
||||
game.Update(0.1)
|
||||
}
|
||||
assert.GreaterOrEqual(t, cameraPitch, float32(20.0))
|
||||
assert.LessOrEqual(t, cameraPitch, float32(85.0))
|
||||
}
|
||||
|
||||
func TestGame_ChatIntegration(t *testing.T) {
|
||||
game := New()
|
||||
game.Player = &types.Player{ID: 1}
|
||||
|
||||
// Test chat message to action queue
|
||||
testutils.SimulateKeyPress(rl.KeyT)
|
||||
game.Update(0.1)
|
||||
assert.True(t, game.Chat.isTyping)
|
||||
|
||||
testutils.SimulateCharInput('h')
|
||||
testutils.SimulateCharInput('i')
|
||||
testutils.SimulateKeyPress(rl.KeyEnter)
|
||||
game.Update(0.1)
|
||||
|
||||
assert.Equal(t, 1, len(game.Player.ActionQueue))
|
||||
assert.Equal(t, pb.Action_CHAT, game.Player.ActionQueue[0].Type)
|
||||
assert.Equal(t, "hi", game.Player.ActionQueue[0].ChatMessage)
|
||||
}
|
||||
|
||||
func TestGame_MenuHandling(t *testing.T) {
|
||||
game := New()
|
||||
|
||||
// Test menu toggle
|
||||
assert.False(t, game.MenuOpen)
|
||||
testutils.SimulateKeyPress(rl.KeyEscape)
|
||||
game.Update(0.1)
|
||||
assert.True(t, game.MenuOpen)
|
||||
|
||||
// Test input blocking when menu is open
|
||||
game.Player = &types.Player{ID: 1}
|
||||
testutils.SimulateMouseButton(testutils.ToInt32(rl.MouseLeftButton), true)
|
||||
game.Update(0.1)
|
||||
assert.Empty(t, game.Player.TargetPath)
|
||||
|
||||
// Test menu close
|
||||
testutils.SimulateKeyPress(rl.KeyEscape)
|
||||
game.Update(0.1)
|
||||
assert.False(t, game.MenuOpen)
|
||||
}
|
||||
|
||||
// Add more test helpers as needed...
|
||||
Reference in New Issue
Block a user