version_test.go 1.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293
  1. package version
  2. import (
  3. "sort"
  4. "testing"
  5. "github.com/stretchr/testify/assert"
  6. )
  7. func TestIsVersionGreaterOrEqualThan(t *testing.T) {
  8. tests := []struct {
  9. version string
  10. target string
  11. want bool
  12. }{
  13. {
  14. version: "0.9.1",
  15. target: "0.9.1",
  16. want: true,
  17. },
  18. {
  19. version: "0.10.0",
  20. target: "0.9.1",
  21. want: true,
  22. },
  23. {
  24. version: "0.9.0",
  25. target: "0.9.1",
  26. want: false,
  27. },
  28. }
  29. for _, test := range tests {
  30. result := IsVersionGreaterOrEqualThan(test.version, test.target)
  31. if result != test.want {
  32. t.Errorf("got result %v, want %v.", result, test.want)
  33. }
  34. }
  35. }
  36. func TestIsVersionGreaterThan(t *testing.T) {
  37. tests := []struct {
  38. version string
  39. target string
  40. want bool
  41. }{
  42. {
  43. version: "0.9.1",
  44. target: "0.9.1",
  45. want: false,
  46. },
  47. {
  48. version: "0.10.0",
  49. target: "0.8.0",
  50. want: true,
  51. },
  52. {
  53. version: "0.8.0",
  54. target: "0.10.0",
  55. want: false,
  56. },
  57. {
  58. version: "0.9.0",
  59. target: "0.9.1",
  60. want: false,
  61. },
  62. }
  63. for _, test := range tests {
  64. result := IsVersionGreaterThan(test.version, test.target)
  65. if result != test.want {
  66. t.Errorf("got result %v, want %v.", result, test.want)
  67. }
  68. }
  69. }
  70. func TestSortVersion(t *testing.T) {
  71. tests := []struct {
  72. versionList []string
  73. want []string
  74. }{
  75. {
  76. versionList: []string{"0.9.1", "0.10.0", "0.8.0"},
  77. want: []string{"0.8.0", "0.9.1", "0.10.0"},
  78. },
  79. {
  80. versionList: []string{"1.9.1", "0.9.1", "0.10.0", "0.8.0"},
  81. want: []string{"0.8.0", "0.9.1", "0.10.0", "1.9.1"},
  82. },
  83. }
  84. for _, test := range tests {
  85. sort.Sort(SortVersion(test.versionList))
  86. assert.Equal(t, test.versionList, test.want)
  87. }
  88. }