mapserver/mapblockparser/parse_test.go

96 lines
1.4 KiB
Go
Raw Normal View History

2019-01-05 23:35:20 +03:00
package mapblockparser
import (
"io/ioutil"
"strconv"
2019-01-07 21:38:53 +03:00
"testing"
2019-01-06 23:00:24 +03:00
log "github.com/sirupsen/logrus"
2019-01-05 23:35:20 +03:00
)
2019-01-07 21:38:53 +03:00
func TestReadU16(t *testing.T) {
2019-01-07 18:06:03 +03:00
v := readU16([]byte{0x00, 0x00}, 0)
if v != 0 {
t.Error(v)
}
v = readU16([]byte{0x00, 0x01}, 0)
if v != 1 {
t.Error(v)
}
v = readU16([]byte{0x01, 0x00}, 0)
if v != 256 {
t.Error(v)
}
}
2019-01-07 21:38:53 +03:00
func TestReadU32(t *testing.T) {
2019-01-07 18:06:03 +03:00
v := readU32([]byte{0x00, 0x00, 0x00, 0x00}, 0)
if v != 0 {
t.Error(v)
}
}
2019-01-07 21:38:53 +03:00
func TestParse(t *testing.T) {
2019-01-06 23:00:24 +03:00
log.SetLevel(log.DebugLevel)
2019-01-05 23:35:20 +03:00
data, err := ioutil.ReadFile("testdata/0.0.0")
if err != nil {
t.Error(err)
}
2019-01-07 10:59:06 +03:00
mapblock, err := Parse(data)
2019-01-05 23:35:20 +03:00
if err != nil {
t.Error(err)
}
if mapblock.Version != 28 {
t.Error("wrong mapblock version: " + strconv.Itoa(int(mapblock.Version)))
}
if !mapblock.Underground {
t.Error("Underground flag")
}
if len(mapblock.Mapdata) != 16384 {
t.Error("Mapdata length wrong")
}
2019-01-07 18:35:26 +03:00
pairs := mapblock.Metadata.GetPairsMap(0)
if pairs["owner"] != "pipo" {
t.Error(pairs["owner"])
}
}
2019-01-07 21:38:53 +03:00
func TestParse2(t *testing.T) {
log.SetLevel(log.DebugLevel)
data, err := ioutil.ReadFile("testdata/11.0.2")
if err != nil {
t.Error(err)
}
_, err = Parse(data)
if err != nil {
t.Error(err)
}
}
2019-01-07 18:35:26 +03:00
2019-01-07 21:38:53 +03:00
func TestParse3(t *testing.T) {
2019-01-07 18:35:26 +03:00
log.SetLevel(log.DebugLevel)
2019-01-07 21:38:53 +03:00
data, err := ioutil.ReadFile("testdata/0.1.0")
2019-01-07 18:35:26 +03:00
if err != nil {
t.Error(err)
}
_, err = Parse(data)
if err != nil {
t.Error(err)
}
}