| // Copyright The Monogon Project Authors. |
| // SPDX-License-Identifier: Apache-2.0 |
| |
| package gpt |
| |
| import ( |
| "encoding/binary" |
| "reflect" |
| "testing" |
| ) |
| |
| func TestStructureSizes(t *testing.T) { |
| cases := []struct { |
| StructInstance interface{} |
| ExpectedSize int |
| }{ |
| {mbr{}, 512}, |
| {mbrPartitionRecord{}, 16}, |
| {header{}, 92}, |
| {partition{}, 128}, |
| } |
| for _, c := range cases { |
| t.Run(reflect.TypeOf(c.StructInstance).String(), func(t *testing.T) { |
| actualSize := binary.Size(c.StructInstance) |
| if actualSize != c.ExpectedSize { |
| t.Errorf("Expected %d bytes, got %d", c.ExpectedSize, actualSize) |
| } |
| }) |
| } |
| } |