package common

import (
	"testing"

	"github.com/onsi/gomega"
)

func Test_Dichotomy(t *testing.T) {
	versions := []string{"v5.1.x", "v5.2.x", "v5.3.x", "v5.4.x", "v5.6.x", "v6.0.x", "v6.1.x"}

	g := gomega.NewWithT(t)

	g.Expect("v5.1.x").To(gomega.Equal(GetVersion("v5.1.0", versions)))
	g.Expect("v5.4.x").To(gomega.Equal(GetVersion("v5.4.5", versions)))
	g.Expect("v6.0.x").To(gomega.Equal(GetVersion("v5.8.0-hotfix", versions)))
	g.Expect("v6.0.x").To(gomega.Equal(GetVersion("v6.0.1", versions)))
	g.Expect("v6.1.x").To(gomega.Equal(GetVersion("v6.1.0", versions)))
	g.Expect("v6.1.x").To(gomega.Equal(GetVersion("v6.2.0", versions)))
	// this case is a special case.
	g.Expect("v6.5.x").To(gomega.Equal(GetVersion("unknown", versions)))
}
