func TestPropertiesOfNewVector(t *testing.T) {
	for _, l := range testSizes {
		t.Run(fmt.Sprintf("NewVector %d", l), func(t *testing.T) {
			vec := NewIntVector(inputSlice(0, l)...)
			assertEqual(t, vec.Len(), l)
			for i := 0; i < l; i++ {
				assertEqual(t, i, vec.Get(i))
			}
		})
	}
}
////////////
/ Vector ///
////////////
package peds_testing
import (
	"fmt"
	"github.com/tobgu/peds/tests/subpackage2"
	"runtime"
	"strings"
	"testing"
)
func assertEqual(t *testing.T, expected, actual int) {
	if expected != actual {
		_, file, line, _ := runtime.Caller(1)
		t.Errorf("Error %s, line %d. Expected: %d, actual: %d", file, line, expected, actual)
	}
}
func assertEqualString(t *testing.T, expected, actual string) {
	if expected != actual {
		_, file, line, _ := runtime.Caller(1)
		t.Errorf("Error %s, line %d. Expected: %v, actual: %v", file, line, expected, actual)
	}
}
func assertEqualBool(t *testing.T, expected, actual bool) {
	if expected != actual {
		_, file, line, _ := runtime.Caller(1)
		t.Errorf("Error %s, line %d. Expected: %v, actual: %v", file, line, expected, actual)
	}
}
func assertPanic(t *testing.T, expectedMsg string) {
	if r := recover(); r == nil {
		_, _, line, _ := runtime.Caller(1)
		t.Errorf("Did not raise, line %d.", line)
	} else {
		msg := r.(string)
		if !strings.Contains(msg, expectedMsg) {
			t.Errorf("Msg '%s', did not contain '%s'", msg, expectedMsg)
		}
	}
}
func inputSlice(start, size int) []int {
	result := make([]int, 0, size)
	for i := start; i < start+size; i++ {
		result = append(result, i)
	}
	return result
}
var testSizes = []int{0, 1, 20, 32, 33, 50, 500, 32 * 32, 32*32 + 1, 10000, 32 * 32 * 32, 32*32*32 + 1}