blob: f28a8df652f388ae9e505a2db2b03a74051f9820 [file]
// Copyright 2026 The Go Authors. All rights reserved.
// Use of this source code is governed by a BSD-style
// license that can be found in the LICENSE file.
package specexpr
import "testing"
func TestMkWidth(t *testing.T) {
tests := []struct {
num, denom int
want ScalableWidth
}{
{4, 8, ScalableWidth{1, 2}},
{3, 9, ScalableWidth{1, 3}},
{12, 18, ScalableWidth{2, 3}},
{0, 5, ScalableWidth{0, 1}},
// We should never have a negative scalable width, but test GCD on them just in case.
{-4, 8, ScalableWidth{-1, 2}},
{4, -8, ScalableWidth{-1, 2}},
{-4, -8, ScalableWidth{1, 2}},
}
for _, tc := range tests {
got := mkWidth(tc.num, tc.denom)
if got != tc.want {
t.Errorf("mkWidth(%d, %d) = %v; want %v", tc.num, tc.denom, got, tc.want)
}
}
}