wip adding line tests
This commit is contained in:
parent
1a275b5929
commit
cca37c750e
|
@ -769,7 +769,16 @@ func TestLine_Bounds(t *testing.T) {
|
||||||
fields fields
|
fields fields
|
||||||
want pixel.Rect
|
want pixel.Rect
|
||||||
}{
|
}{
|
||||||
// TODO: Add test cases.
|
{
|
||||||
|
name: "Positive slope",
|
||||||
|
fields: fields{A: pixel.V(0, 0), B: pixel.V(10, 10)},
|
||||||
|
want: pixel.R(0, 0, 10, 10),
|
||||||
|
},
|
||||||
|
{
|
||||||
|
name: "Negative slope",
|
||||||
|
fields: fields{A: pixel.V(10, 10), B: pixel.V(0, 0)},
|
||||||
|
want: pixel.R(0, 0, 10, 10),
|
||||||
|
},
|
||||||
}
|
}
|
||||||
for _, tt := range tests {
|
for _, tt := range tests {
|
||||||
t.Run(tt.name, func(t *testing.T) {
|
t.Run(tt.name, func(t *testing.T) {
|
||||||
|
@ -794,7 +803,16 @@ func TestLine_Center(t *testing.T) {
|
||||||
fields fields
|
fields fields
|
||||||
want pixel.Vec
|
want pixel.Vec
|
||||||
}{
|
}{
|
||||||
// TODO: Add test cases.
|
{
|
||||||
|
name: "Positive slope",
|
||||||
|
fields: fields{A: pixel.V(0, 0), B: pixel.V(10, 10)},
|
||||||
|
want: pixel.V(5, 5),
|
||||||
|
},
|
||||||
|
{
|
||||||
|
name: "Negative slope",
|
||||||
|
fields: fields{A: pixel.V(10, 10), B: pixel.V(0, 0)},
|
||||||
|
want: pixel.V(5, 5),
|
||||||
|
},
|
||||||
}
|
}
|
||||||
for _, tt := range tests {
|
for _, tt := range tests {
|
||||||
t.Run(tt.name, func(t *testing.T) {
|
t.Run(tt.name, func(t *testing.T) {
|
||||||
|
@ -823,7 +841,24 @@ func TestLine_Closest(t *testing.T) {
|
||||||
args args
|
args args
|
||||||
want pixel.Vec
|
want pixel.Vec
|
||||||
}{
|
}{
|
||||||
// TODO: Add test cases.
|
{
|
||||||
|
name: "Point on line",
|
||||||
|
fields: fields{A: pixel.V(0, 0), B: pixel.V(10, 10)},
|
||||||
|
args: args{v: pixel.V(5, 5)},
|
||||||
|
want: pixel.V(5, 5),
|
||||||
|
},
|
||||||
|
{
|
||||||
|
name: "Point on next to line",
|
||||||
|
fields: fields{A: pixel.V(0, 0), B: pixel.V(10, 10)},
|
||||||
|
args: args{v: pixel.V(0, 10)},
|
||||||
|
want: pixel.V(5, 5),
|
||||||
|
},
|
||||||
|
{
|
||||||
|
name: "Point on inline with line",
|
||||||
|
fields: fields{A: pixel.V(0, 0), B: pixel.V(10, 10)},
|
||||||
|
args: args{v: pixel.V(20, 20)},
|
||||||
|
want: pixel.V(10, 10),
|
||||||
|
},
|
||||||
}
|
}
|
||||||
for _, tt := range tests {
|
for _, tt := range tests {
|
||||||
t.Run(tt.name, func(t *testing.T) {
|
t.Run(tt.name, func(t *testing.T) {
|
||||||
|
@ -852,7 +887,18 @@ func TestLine_Contains(t *testing.T) {
|
||||||
args args
|
args args
|
||||||
want bool
|
want bool
|
||||||
}{
|
}{
|
||||||
// TODO: Add test cases.
|
{
|
||||||
|
name: "Point on line",
|
||||||
|
fields: fields{A: pixel.V(0, 0), B: pixel.V(10, 10)},
|
||||||
|
args: args{v: pixel.V(5, 5)},
|
||||||
|
want: true,
|
||||||
|
},
|
||||||
|
{
|
||||||
|
name: "Point not on line",
|
||||||
|
fields: fields{A: pixel.V(0, 0), B: pixel.V(10, 10)},
|
||||||
|
args: args{v: pixel.V(0, 10)},
|
||||||
|
want: false,
|
||||||
|
},
|
||||||
}
|
}
|
||||||
for _, tt := range tests {
|
for _, tt := range tests {
|
||||||
t.Run(tt.name, func(t *testing.T) {
|
t.Run(tt.name, func(t *testing.T) {
|
||||||
|
@ -878,7 +924,24 @@ func TestLine_Formula(t *testing.T) {
|
||||||
wantM float64
|
wantM float64
|
||||||
wantB float64
|
wantB float64
|
||||||
}{
|
}{
|
||||||
// TODO: Add test cases.
|
{
|
||||||
|
name: "Getting formula - 45 degs",
|
||||||
|
fields: fields{A: pixel.V(0, 0), B: pixel.V(10, 10)},
|
||||||
|
wantM: 1,
|
||||||
|
wantB: 0,
|
||||||
|
},
|
||||||
|
{
|
||||||
|
name: "Getting formula - 90 degs",
|
||||||
|
fields: fields{A: pixel.V(0, 0), B: pixel.V(0, 10)},
|
||||||
|
wantM: math.Inf(1),
|
||||||
|
wantB: math.NaN(),
|
||||||
|
},
|
||||||
|
{
|
||||||
|
name: "Getting formula - 0 degs",
|
||||||
|
fields: fields{A: pixel.V(0, 0), B: pixel.V(10, 0)},
|
||||||
|
wantM: 0,
|
||||||
|
wantB: 0,
|
||||||
|
},
|
||||||
}
|
}
|
||||||
for _, tt := range tests {
|
for _, tt := range tests {
|
||||||
t.Run(tt.name, func(t *testing.T) {
|
t.Run(tt.name, func(t *testing.T) {
|
||||||
|
|
Loading…
Reference in New Issue