| 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970 | /* * EliasDB * * Copyright 2016 Matthias Ladkau. All rights reserved. * * This Source Code Form is subject to the terms of the Mozilla Public * License, v. 2.0. If a copy of the MPL was not distributed with this * file, You can obtain one at http://mozilla.org/MPL/2.0/. */package utilimport "testing"func TestLocation(t *testing.T) {	var i uint16	var j uint64	for i = 0; i < MaxOffsetValue; i++ {		location := PackLocation(1, uint16(i))		recID := LocationRecord(location)		if recID != 1 {			t.Error("Unexpected record for location", location, " i:", i, " recId:", recID)			return		}		off := LocationOffset(location)		if off != i {			t.Error("Unexpected record for location", location, " i:", i, " off:", off)			return		}	}	testPackLocationPanic(t)	for j = 0; j < MaxRecordValue; j++ {		location := PackLocation(j, 1)		recID := LocationRecord(location)		if recID != j {			t.Error("Unexpected record for location", location, " i:", i, " recId:", recID)			return		}		off := LocationOffset(location)		if off != 1 {			t.Error("Unexpected record for location", location, " i:", i, " off:", off)			return		}	}	if PackLocation(0xFFFFFF, 0xFFFF) != 0xFFFFFFFF {		t.Error("Unexpected max location")	}}func testPackLocationPanic(t *testing.T) {	defer func() {		if r := recover(); r == nil {			t.Error("Packing location with invalid record id.")		}	}()	PackLocation(MaxRecordValue+1, 0)}
 |