Nevar pievienot vairāk kā 25 tēmas Tēmai ir jāsākas ar burtu vai ciparu, tā var saturēt domu zīmes ('-') un var būt līdz 35 simboliem gara.

72 rindas
1.9KB

  1. package point_test
  2. import (
  3. "math"
  4. "testing"
  5. "git.wtrh.nl/patterns/gopatterns/pkg/point"
  6. "git.wtrh.nl/patterns/gopatterns/pkg/position"
  7. "git.wtrh.nl/patterns/gopatterns/pkg/util"
  8. "git.wtrh.nl/patterns/gopatterns/pkg/vector"
  9. "github.com/stretchr/testify/require"
  10. "github.com/tdewolff/canvas"
  11. )
  12. func EqualMatrix(t *testing.T, expected, actual canvas.Matrix, delta float64) {
  13. t.Helper()
  14. require.InDeltaSlice(t, expected[0][:], actual[0][:], delta)
  15. require.InDeltaSlice(t, expected[1][:], actual[1][:], delta)
  16. }
  17. func TestAbsolutePoint_Matrix(t *testing.T) {
  18. rotation := math.Pi/2 + 2
  19. newPoint := point.NewAbsolutePoint(1, 2, rotation, "1")
  20. actual := newPoint.Matrix()
  21. expected := canvas.Matrix{
  22. {math.Cos(rotation), -math.Sin(rotation), 1.0},
  23. {math.Sin(rotation), math.Cos(rotation), 2.0},
  24. }
  25. EqualMatrix(t, actual, expected, 1e-10)
  26. }
  27. func TestAbsolutePoint_ID(t *testing.T) {
  28. newPoint := point.NewAbsolutePoint(1, 2, 3, "this is a test value")
  29. require.Equal(t, util.ID("this is a test value"), newPoint.ID())
  30. }
  31. func TestAbsolutePoint_Name(t *testing.T) {
  32. require.Equal(t, "this is a test value", point.NewAbsolutePoint(1, 2, 3, "this is a test value").Name())
  33. }
  34. func TestAbsolutePoint_Position(t *testing.T) {
  35. actual := point.NewAbsolutePoint(1, 2, 3, "this is a test value").Position()
  36. expected := position.Position{
  37. Vector: vector.Vector{X: 1, Y: 2},
  38. Rotation: 3,
  39. }
  40. require.Equal(t, expected, actual)
  41. }
  42. func TestAbsolutePoint_Draw(t *testing.T) {
  43. newPoint := point.NewAbsolutePoint(1, 2, 3, "this is a test value")
  44. require.False(t, newPoint.Draw())
  45. newPoint.SetDraw()
  46. require.True(t, newPoint.Draw())
  47. newPoint.UnsetDraw()
  48. require.False(t, newPoint.Draw())
  49. }
  50. func TestAbsolutePoint_Hide(t *testing.T) {
  51. newPoint := point.NewAbsolutePoint(1, 2, 3, "this is a test value")
  52. require.False(t, newPoint.Hide())
  53. newPoint.SetHide()
  54. require.True(t, newPoint.Hide())
  55. }