package structure import ( "bytes" "encoding/gob" "io/ioutil" "log" "os" "testing" randomdata "github.com/Pallinder/go-randomdata" ) const CompartorSize = 1000000 const NumberMax = 50000000 func TestSave(t *testing.T) { f, err := os.OpenFile("l.log", os.O_CREATE|os.O_TRUNC|os.O_WRONLY, 0666) if err != nil { log.Println(err) } //fmt.Println(userBytes) var l []int // for i := 0; len(l) < 1000; i++ { // v := randomdata.Number(0, 65535) // l = append(l, v) // } //m := make(map[int]int) for i := 0; len(l) < CompartorSize; i++ { v := randomdata.Number(0, NumberMax) // if _, ok := m[v]; !ok { // m[v] = v l = append(l, v) // } } var result bytes.Buffer encoder := gob.NewEncoder(&result) encoder.Encode(l) lbytes := result.Bytes() f.Write(lbytes) } func loadTestData() []int { data, err := ioutil.ReadFile("../l.log") if err != nil { log.Println(err) } var l []int decoder := gob.NewDecoder(bytes.NewReader(data)) decoder.Decode(&l) return l }