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)
|
||||
|
||||
// 最小单位计算
|
||||
unit := 5
|
||||
unit := 2
|
||||
if r > 10 {
|
||||
unit = 5
|
||||
}
|
||||
if r > 100 {
|
||||
unit = 20
|
||||
}
|
||||
|
|
@ -65,8 +68,7 @@ func (r *Range) getHeight(value float64) int {
|
|||
}
|
||||
|
||||
func (r *Range) getRestHeight(value float64) int {
|
||||
v := 1 - (value-r.Min)/(r.Max-r.Min)
|
||||
return int(v * float64(r.Size))
|
||||
return r.Size - r.getHeight(value)
|
||||
}
|
||||
|
||||
func (r *Range) GetRange(index int) (float64, float64) {
|
||||
|
|
|
|||
|
|
@ -33,7 +33,7 @@ func TestRange(t *testing.T) {
|
|||
|
||||
r := NewRange(0, 8, 6)
|
||||
assert.Equal(0.0, r.Min)
|
||||
assert.Equal(30.0, r.Max)
|
||||
assert.Equal(12.0, r.Max)
|
||||
|
||||
r = NewRange(0, 12, 6)
|
||||
assert.Equal(0.0, r.Min)
|
||||
|
|
@ -47,3 +47,30 @@ func TestRange(t *testing.T) {
|
|||
assert.Equal(0.0, r.Min)
|
||||
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