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 util
- import "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)
- }
|