func CoordsInsertRawTestImpl(t *testing.T, simpleCoords geom.ReadWriteCoords) { assert.True(t, simpleCoords.IsEmpty()) simpleCoords.InsertRaw(0, []float64{2, 3}) assert.Equal(t, 1, int(simpleCoords.NumCoords()), "Number of coordinates should be the 1") assert.False(t, simpleCoords.IsEmpty()) assert.Panics(t, func() { simpleCoords.InsertRaw(0, []float64{2, 3, 4}) }) assert.Equal(t, 1, int(simpleCoords.NumCoords()), "Number of coordinates should be the 1") assert.Panics(t, func() { simpleCoords.InsertRaw(0, []float64{2}) }) assert.Equal(t, 1, int(simpleCoords.NumCoords()), "Number of coordinates should be the 1") assert.Panics(t, func() { simpleCoords.InsertRaw(0, []float64{2}) }) assert.Equal(t, 1, int(simpleCoords.NumCoords()), "Number of coordinates should be the 1") assert.Panics(t, func() { simpleCoords.InsertRaw(2, []float64{2, 3}) }) assert.Equal(t, 1, int(simpleCoords.NumCoords()), "Number of coordinates should be the 1") simpleCoords.InsertRaw(1, []float64{4, 5}) assert.Equal(t, 2, int(simpleCoords.NumCoords()), "Number of coordinates should be the 2") assert.Equal(t, []float64{2, 3}, simpleCoords.Get(0).ToArray(), fmt.Sprintf("Incorrect first coordinate in %v", simpleCoords)) assert.Equal(t, []float64{4, 5}, simpleCoords.Get(1).ToArray(), fmt.Sprintf("Incorrect second coordinate in %v", simpleCoords)) simpleCoords.InsertRaw(1, []float64{3, 4}) assert.Equal(t, 3, int(simpleCoords.NumCoords()), "Number of coordinates should be the 3") assert.Equal(t, []float64{2, 3}, simpleCoords.Get(0).ToArray(), fmt.Sprintf("Incorrect first coordinate in %v", simpleCoords)) assert.Equal(t, []float64{3, 4}, simpleCoords.Get(1).ToArray(), fmt.Sprintf("Incorrect second coordinate in %v", simpleCoords)) assert.Equal(t, []float64{4, 5}, simpleCoords.Get(2).ToArray(), fmt.Sprintf("Incorrect second coordinate in %v", simpleCoords)) simpleCoords.InsertRaw(0, []float64{-1, 0}) assert.Equal(t, 4, int(simpleCoords.NumCoords()), "Number of coordinates should be the 4") assert.Equal(t, []float64{-1, 0}, simpleCoords.Get(0).ToArray(), fmt.Sprintf("Incorrect first coordinate in %v", simpleCoords)) assert.Equal(t, []float64{2, 3}, simpleCoords.Get(1).ToArray(), fmt.Sprintf("Incorrect first coordinate in %v", simpleCoords)) assert.Equal(t, []float64{3, 4}, simpleCoords.Get(2).ToArray(), fmt.Sprintf("Incorrect second coordinate in %v", simpleCoords)) assert.Equal(t, []float64{4, 5}, simpleCoords.Get(3).ToArray(), fmt.Sprintf("Incorrect second coordinate in %v", simpleCoords)) }