github.com/insionng/yougam@v0.0.0-20170714101924-2bc18d833463/libraries/pingcap/tidb/mysql/util_test.go (about)

     1  // Copyright 2015 PingCAP, Inc.
     2  //
     3  // Licensed under the Apache License, Version 2.0 (the "License");
     4  // you may not use this file except in compliance with the License.
     5  // You may obtain a copy of the License at
     6  //
     7  //     http://www.apache.org/licenses/LICENSE-2.0
     8  //
     9  // Unless required by applicable law or agreed to in writing, software
    10  // distributed under the License is distributed on an "AS IS" BASIS,
    11  // See the License for the specific language governing permissions and
    12  // limitations under the License.
    13  
    14  package mysql
    15  
    16  import "testing"
    17  
    18  func TestGetFieldLength(t *testing.T) {
    19  	tbl := []struct {
    20  		Type   byte
    21  		Length int
    22  	}{
    23  		{TypeTiny, 4},
    24  		{TypeShort, 6},
    25  		{TypeInt24, 9},
    26  		{TypeLong, 11},
    27  		{TypeLonglong, 21},
    28  		{TypeBit, -1},
    29  		{TypeBlob, -1},
    30  		{TypeNull, -1},
    31  	}
    32  
    33  	for _, test := range tbl {
    34  		l := GetDefaultFieldLength(test.Type)
    35  		if l != test.Length {
    36  			t.Fatalf("invalid field length %d != %d", l, test.Length)
    37  		}
    38  	}
    39  }