github.com/patricebensoussan/go/codec@v1.2.99/mammoth2_generated_test.go (about) 1 //go:build !codec.notmammoth 2 // +build !codec.notmammoth 3 4 // Copyright (c) 2012-2020 Ugorji Nwoke. All rights reserved. 5 // Use of this source code is governed by a MIT license found in the LICENSE file. 6 7 // Code generated from mammoth2-test.go.tmpl - DO NOT EDIT. 8 9 package codec 10 11 // Increase codecoverage by covering all the codecgen paths, in fast-path and gen-helper.go.... 12 // 13 // Note: even though this is built based on fast-path and gen-helper, we will run these tests 14 // in all modes, including notfastpath, etc. 15 // 16 // Add test file for creating a mammoth generated file as _mammoth_generated.go 17 // - generate a second mammoth files in a different file: mammoth2_generated_test.go 18 // mammoth-test.go.tmpl will do this 19 // - run codecgen on it, into mammoth2_codecgen_generated_test.go (no build tags) 20 // - as part of TestMammoth, run it also 21 // - this will cover all the codecgen, gen-helper, etc in one full run 22 // - check in mammoth* files into github also 23 // 24 // Now, add some types: 25 // - some that implement BinaryMarshal, TextMarshal, JSONMarshal, and one that implements none of it 26 // - create a wrapper type that includes TestMammoth2, with it in slices, and maps, and the custom types 27 // - this wrapper object is what we work encode/decode (so that the codecgen methods are called) 28 29 // import "encoding/binary" 30 31 import "fmt" 32 33 type TestMammoth2 struct { 34 FIntf interface{} 35 FptrIntf *interface{} 36 FString string 37 FptrString *string 38 FBytes []byte 39 FptrBytes *[]byte 40 FFloat32 float32 41 FptrFloat32 *float32 42 FFloat64 float64 43 FptrFloat64 *float64 44 FUint uint 45 FptrUint *uint 46 FUint8 uint8 47 FptrUint8 *uint8 48 FUint16 uint16 49 FptrUint16 *uint16 50 FUint32 uint32 51 FptrUint32 *uint32 52 FUint64 uint64 53 FptrUint64 *uint64 54 FUintptr uintptr 55 FptrUintptr *uintptr 56 FInt int 57 FptrInt *int 58 FInt8 int8 59 FptrInt8 *int8 60 FInt16 int16 61 FptrInt16 *int16 62 FInt32 int32 63 FptrInt32 *int32 64 FInt64 int64 65 FptrInt64 *int64 66 FBool bool 67 FptrBool *bool 68 69 FSliceIntf []interface{} 70 FptrSliceIntf *[]interface{} 71 FSliceString []string 72 FptrSliceString *[]string 73 FSliceBytes [][]byte 74 FptrSliceBytes *[][]byte 75 FSliceFloat32 []float32 76 FptrSliceFloat32 *[]float32 77 FSliceFloat64 []float64 78 FptrSliceFloat64 *[]float64 79 FSliceUint8 []uint8 80 FptrSliceUint8 *[]uint8 81 FSliceUint64 []uint64 82 FptrSliceUint64 *[]uint64 83 FSliceInt []int 84 FptrSliceInt *[]int 85 FSliceInt32 []int32 86 FptrSliceInt32 *[]int32 87 FSliceInt64 []int64 88 FptrSliceInt64 *[]int64 89 FSliceBool []bool 90 FptrSliceBool *[]bool 91 92 FMapStringIntf map[string]interface{} 93 FptrMapStringIntf *map[string]interface{} 94 FMapStringString map[string]string 95 FptrMapStringString *map[string]string 96 FMapStringBytes map[string][]byte 97 FptrMapStringBytes *map[string][]byte 98 FMapStringUint8 map[string]uint8 99 FptrMapStringUint8 *map[string]uint8 100 FMapStringUint64 map[string]uint64 101 FptrMapStringUint64 *map[string]uint64 102 FMapStringInt map[string]int 103 FptrMapStringInt *map[string]int 104 FMapStringInt32 map[string]int32 105 FptrMapStringInt32 *map[string]int32 106 FMapStringFloat64 map[string]float64 107 FptrMapStringFloat64 *map[string]float64 108 FMapStringBool map[string]bool 109 FptrMapStringBool *map[string]bool 110 FMapUint8Intf map[uint8]interface{} 111 FptrMapUint8Intf *map[uint8]interface{} 112 FMapUint8String map[uint8]string 113 FptrMapUint8String *map[uint8]string 114 FMapUint8Bytes map[uint8][]byte 115 FptrMapUint8Bytes *map[uint8][]byte 116 FMapUint8Uint8 map[uint8]uint8 117 FptrMapUint8Uint8 *map[uint8]uint8 118 FMapUint8Uint64 map[uint8]uint64 119 FptrMapUint8Uint64 *map[uint8]uint64 120 FMapUint8Int map[uint8]int 121 FptrMapUint8Int *map[uint8]int 122 FMapUint8Int32 map[uint8]int32 123 FptrMapUint8Int32 *map[uint8]int32 124 FMapUint8Float64 map[uint8]float64 125 FptrMapUint8Float64 *map[uint8]float64 126 FMapUint8Bool map[uint8]bool 127 FptrMapUint8Bool *map[uint8]bool 128 FMapUint64Intf map[uint64]interface{} 129 FptrMapUint64Intf *map[uint64]interface{} 130 FMapUint64String map[uint64]string 131 FptrMapUint64String *map[uint64]string 132 FMapUint64Bytes map[uint64][]byte 133 FptrMapUint64Bytes *map[uint64][]byte 134 FMapUint64Uint8 map[uint64]uint8 135 FptrMapUint64Uint8 *map[uint64]uint8 136 FMapUint64Uint64 map[uint64]uint64 137 FptrMapUint64Uint64 *map[uint64]uint64 138 FMapUint64Int map[uint64]int 139 FptrMapUint64Int *map[uint64]int 140 FMapUint64Int32 map[uint64]int32 141 FptrMapUint64Int32 *map[uint64]int32 142 FMapUint64Float64 map[uint64]float64 143 FptrMapUint64Float64 *map[uint64]float64 144 FMapUint64Bool map[uint64]bool 145 FptrMapUint64Bool *map[uint64]bool 146 FMapIntIntf map[int]interface{} 147 FptrMapIntIntf *map[int]interface{} 148 FMapIntString map[int]string 149 FptrMapIntString *map[int]string 150 FMapIntBytes map[int][]byte 151 FptrMapIntBytes *map[int][]byte 152 FMapIntUint8 map[int]uint8 153 FptrMapIntUint8 *map[int]uint8 154 FMapIntUint64 map[int]uint64 155 FptrMapIntUint64 *map[int]uint64 156 FMapIntInt map[int]int 157 FptrMapIntInt *map[int]int 158 FMapIntInt32 map[int]int32 159 FptrMapIntInt32 *map[int]int32 160 FMapIntFloat64 map[int]float64 161 FptrMapIntFloat64 *map[int]float64 162 FMapIntBool map[int]bool 163 FptrMapIntBool *map[int]bool 164 FMapInt32Intf map[int32]interface{} 165 FptrMapInt32Intf *map[int32]interface{} 166 FMapInt32String map[int32]string 167 FptrMapInt32String *map[int32]string 168 FMapInt32Bytes map[int32][]byte 169 FptrMapInt32Bytes *map[int32][]byte 170 FMapInt32Uint8 map[int32]uint8 171 FptrMapInt32Uint8 *map[int32]uint8 172 FMapInt32Uint64 map[int32]uint64 173 FptrMapInt32Uint64 *map[int32]uint64 174 FMapInt32Int map[int32]int 175 FptrMapInt32Int *map[int32]int 176 FMapInt32Int32 map[int32]int32 177 FptrMapInt32Int32 *map[int32]int32 178 FMapInt32Float64 map[int32]float64 179 FptrMapInt32Float64 *map[int32]float64 180 FMapInt32Bool map[int32]bool 181 FptrMapInt32Bool *map[int32]bool 182 } 183 184 // ----------- 185 186 type testMammoth2Binary uint64 187 188 func (x testMammoth2Binary) MarshalBinary() (data []byte, err error) { 189 data = make([]byte, 8) 190 bigenstd.PutUint64(data, uint64(x)) 191 return 192 } 193 func (x *testMammoth2Binary) UnmarshalBinary(data []byte) (err error) { 194 *x = testMammoth2Binary(bigenstd.Uint64(data)) 195 return 196 } 197 198 type testMammoth2Text uint64 199 200 func (x testMammoth2Text) MarshalText() (data []byte, err error) { 201 data = []byte(fmt.Sprintf("%b", uint64(x))) 202 return 203 } 204 func (x *testMammoth2Text) UnmarshalText(data []byte) (err error) { 205 _, err = fmt.Sscanf(string(data), "%b", (*uint64)(x)) 206 return 207 } 208 209 type testMammoth2Json uint64 210 211 func (x testMammoth2Json) MarshalJSON() (data []byte, err error) { 212 data = []byte(fmt.Sprintf("%v", uint64(x))) 213 return 214 } 215 func (x *testMammoth2Json) UnmarshalJSON(data []byte) (err error) { 216 _, err = fmt.Sscanf(string(data), "%v", (*uint64)(x)) 217 return 218 } 219 220 type testMammoth2Basic [4]uint64 221 222 type TestMammoth2Wrapper struct { 223 V TestMammoth2 224 T testMammoth2Text 225 B testMammoth2Binary 226 J testMammoth2Json 227 C testMammoth2Basic 228 M map[testMammoth2Basic]TestMammoth2 229 L []TestMammoth2 230 A [4]int64 231 232 Tcomplex128 complex128 233 Tcomplex64 complex64 234 Tbytes []uint8 235 Tpbytes *[]uint8 236 }