github.com/mvdan/u-root-coreutils@v0.0.0-20230122170626-c2eef2898555/pkg/memio/uintn_test.go (about) 1 // Copyright 2012-2019 the u-root Authors. All rights reserved 2 // Use of this source code is governed by a BSD-style 3 // license that can be found in the LICENSE file. 4 5 package memio 6 7 import "testing" 8 9 func TestUint8(t *testing.T) { 10 for _, tt := range []struct { 11 name string 12 valueUint8 Uint8 13 value8 uint8 14 expString string 15 expSize int64 16 }{ 17 { 18 name: "uint8", 19 valueUint8: Uint8(45), 20 value8: uint8(45), 21 expString: "0x2d", 22 expSize: 1, 23 }, 24 } { 25 t.Run(tt.name+"Size8", func(t *testing.T) { 26 if tt.valueUint8.Size() != tt.expSize { 27 t.Errorf("%q failed. Got: %d, Want: %d", tt.name+"Size8", tt.valueUint8.Size(), tt.expSize) 28 } 29 }) 30 31 t.Run(tt.name+"String8", func(t *testing.T) { 32 if tt.valueUint8.String() != tt.expString { 33 t.Errorf("%q failed. Got: %q, Want: %q", tt.name+"String8", tt.valueUint8.String(), tt.expString) 34 } 35 }) 36 } 37 } 38 39 func TestUint16(t *testing.T) { 40 for _, tt := range []struct { 41 name string 42 value Uint16 43 value16 uint16 44 expString string 45 expSize int64 46 }{ 47 { 48 name: "uint16", 49 value: Uint16(45), 50 value16: uint16(45), 51 expString: "0x002d", 52 expSize: 2, 53 }, 54 } { 55 t.Run(tt.name+"Size16", func(t *testing.T) { 56 if tt.value.Size() != tt.expSize { 57 t.Errorf("%q failed. Got: %d, Want: %d", tt.name+"Size16", tt.value.Size(), tt.expSize) 58 } 59 }) 60 61 t.Run(tt.name+"String16", func(t *testing.T) { 62 if tt.value.String() != tt.expString { 63 t.Errorf("%q failed. Got: %q, Want: %q", tt.name+"String16", tt.value.String(), tt.expString) 64 } 65 }) 66 } 67 } 68 69 func TestUint32(t *testing.T) { 70 for _, tt := range []struct { 71 name string 72 value Uint32 73 value32 uint32 74 expString string 75 expSize int64 76 }{ 77 { 78 name: "uint32", 79 value: Uint32(45), 80 value32: uint32(45), 81 expString: "0x0000002d", 82 expSize: 4, 83 }, 84 } { 85 t.Run(tt.name+"Size32", func(t *testing.T) { 86 if tt.value.Size() != tt.expSize { 87 t.Errorf("%q failed. Got: %d, Want: %d", tt.name+"Size32", tt.value.Size(), tt.expSize) 88 } 89 }) 90 91 t.Run(tt.name+"String32", func(t *testing.T) { 92 if tt.value.String() != tt.expString { 93 t.Errorf("%q failed. Got: %q, Want: %q", tt.name+"String32", tt.value.String(), tt.expString) 94 } 95 }) 96 } 97 } 98 99 func TestUint64(t *testing.T) { 100 for _, tt := range []struct { 101 name string 102 value Uint64 103 value64 uint64 104 expString string 105 expSize int64 106 }{ 107 108 { 109 name: "uint64", 110 value: Uint64(45), 111 value64: uint64(45), 112 expString: "0x000000000000002d", 113 expSize: 8, 114 }, 115 } { 116 t.Run(tt.name+"Size64", func(t *testing.T) { 117 if tt.value.Size() != tt.expSize { 118 t.Errorf("%q failed. Got: %d, Want: %d", tt.name+"Size", tt.value.Size(), tt.expSize) 119 } 120 }) 121 122 t.Run(tt.name+"String64", func(t *testing.T) { 123 if tt.value.String() != tt.expString { 124 t.Errorf("%q failed. Got: %q, Want: %q", tt.name+"String", tt.value.String(), tt.expString) 125 } 126 }) 127 } 128 } 129 130 func TestUintByteSlice(t *testing.T) { 131 for _, tt := range []struct { 132 name string 133 value ByteSlice 134 valueByte []byte 135 expString string 136 expSize int64 137 }{ 138 { 139 name: "ByteSlice1", 140 value: ByteSlice([]byte{1}), 141 valueByte: []byte{1}, 142 expString: "0x01", 143 expSize: 1, 144 }, 145 { 146 name: "ByteSlice2", 147 value: ByteSlice([]byte{1, 2}), 148 valueByte: []byte{1, 2}, 149 expString: "0x0102", 150 expSize: 2, 151 }, 152 { 153 name: "ByteSlice4", 154 value: ByteSlice([]byte{1, 2, 3, 4}), 155 valueByte: []byte{1, 2, 3, 4}, 156 expString: "0x01020304", 157 expSize: 4, 158 }, 159 { 160 name: "ByteSlice8", 161 value: ByteSlice([]byte{1, 2, 3, 4, 5, 6, 7, 8}), 162 valueByte: []byte{1, 2, 3, 4, 5, 6, 7, 8}, 163 expString: "0x0102030405060708", 164 expSize: 8, 165 }, 166 } { 167 t.Run(tt.name+"SizeByteSlice", func(t *testing.T) { 168 if tt.value.Size() != tt.expSize { 169 t.Errorf("%q failed. Got: %d, Want: %d", tt.name+"SizeByteSlice", tt.value.Size(), tt.expSize) 170 } 171 }) 172 173 t.Run(tt.name+"StringByteSlice", func(t *testing.T) { 174 if tt.value.String() != tt.expString { 175 t.Errorf("%q failed. Got: %q, Want: %q", tt.name+"StringByteSlice", tt.value.String(), tt.expString) 176 } 177 }) 178 } 179 }