don't forget to calculate in in differenceArrayRun

This commit is contained in:
Matthew Jaffee 2017-09-22 01:11:45 -05:00 committed by Travis
parent fd73eaa5cb
commit f115249316
No known key found for this signature in database
GPG key ID: 7F08008DFD9314C9
2 changed files with 3 additions and 1 deletions

View file

@ -2481,6 +2481,7 @@ func differenceRunArray(a, b *container) *container {
continue
}
output.runs = append(output.runs, interval16{start: start, last: vb - 1})
output.n += int(vb - start)
start = vb + 1
bidx++
if bidx >= len(b.array) {
@ -2491,6 +2492,7 @@ func differenceRunArray(a, b *container) *container {
if start <= run.last {
output.runs = append(output.runs, interval16{start: start, last: run.last})
output.n += int(run.last - start + 1)
}
}
output.Optimize()

View file

@ -763,7 +763,7 @@ func TestDifferenceMixed(t *testing.T) {
res := difference(a, b)
if !reflect.DeepEqual(res.array, []uint16{5, 7, 9}) {
t.Fatalf("test #1 expected %v, but got %v", []uint16{5, 7, 9}, res.array)
t.Fatalf("test #1 expected %v, but got %#v", []uint16{5, 7, 9}, res)
}
res = difference(b, a)