test: add test for range
This commit is contained in:
parent
54f0195c53
commit
f053b49440
2 changed files with 33 additions and 4 deletions
8
range.go
8
range.go
|
|
@ -38,7 +38,10 @@ func NewRange(min, max float64, divideCount int) Range {
|
||||||
r := math.Abs(max - min)
|
r := math.Abs(max - min)
|
||||||
|
|
||||||
// 最小单位计算
|
// 最小单位计算
|
||||||
unit := 5
|
unit := 2
|
||||||
|
if r > 10 {
|
||||||
|
unit = 5
|
||||||
|
}
|
||||||
if r > 100 {
|
if r > 100 {
|
||||||
unit = 20
|
unit = 20
|
||||||
}
|
}
|
||||||
|
|
@ -65,8 +68,7 @@ func (r *Range) getHeight(value float64) int {
|
||||||
}
|
}
|
||||||
|
|
||||||
func (r *Range) getRestHeight(value float64) int {
|
func (r *Range) getRestHeight(value float64) int {
|
||||||
v := 1 - (value-r.Min)/(r.Max-r.Min)
|
return r.Size - r.getHeight(value)
|
||||||
return int(v * float64(r.Size))
|
|
||||||
}
|
}
|
||||||
|
|
||||||
func (r *Range) GetRange(index int) (float64, float64) {
|
func (r *Range) GetRange(index int) (float64, float64) {
|
||||||
|
|
|
||||||
|
|
@ -33,7 +33,7 @@ func TestRange(t *testing.T) {
|
||||||
|
|
||||||
r := NewRange(0, 8, 6)
|
r := NewRange(0, 8, 6)
|
||||||
assert.Equal(0.0, r.Min)
|
assert.Equal(0.0, r.Min)
|
||||||
assert.Equal(30.0, r.Max)
|
assert.Equal(12.0, r.Max)
|
||||||
|
|
||||||
r = NewRange(0, 12, 6)
|
r = NewRange(0, 12, 6)
|
||||||
assert.Equal(0.0, r.Min)
|
assert.Equal(0.0, r.Min)
|
||||||
|
|
@ -47,3 +47,30 @@ func TestRange(t *testing.T) {
|
||||||
assert.Equal(0.0, r.Min)
|
assert.Equal(0.0, r.Min)
|
||||||
assert.Equal(480.0, r.Max)
|
assert.Equal(480.0, r.Max)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
func TestRangeHeightWidth(t *testing.T) {
|
||||||
|
assert := assert.New(t)
|
||||||
|
r := NewRange(0, 8, 6)
|
||||||
|
r.Size = 100
|
||||||
|
|
||||||
|
assert.Equal(33, r.getHeight(4))
|
||||||
|
assert.Equal(67, r.getRestHeight(4))
|
||||||
|
|
||||||
|
assert.Equal(33, r.getWidth(4))
|
||||||
|
r.Boundary = true
|
||||||
|
assert.Equal(41, r.getWidth(4))
|
||||||
|
}
|
||||||
|
|
||||||
|
func TestRangeGetRange(t *testing.T) {
|
||||||
|
assert := assert.New(t)
|
||||||
|
r := NewRange(0, 8, 6)
|
||||||
|
r.Size = 120
|
||||||
|
|
||||||
|
f1, f2 := r.GetRange(0)
|
||||||
|
assert.Equal(0.0, f1)
|
||||||
|
assert.Equal(20.0, f2)
|
||||||
|
|
||||||
|
f1, f2 = r.GetRange(2)
|
||||||
|
assert.Equal(40.0, f1)
|
||||||
|
assert.Equal(60.0, f2)
|
||||||
|
}
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue