| // Copyright 2025 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 unify |
| |
| import ( |
| "reflect" |
| "slices" |
| "testing" |
| ) |
| |
| func ExampleClosure_All_tuple() { |
| v := mustParse(` |
| - !sum [1, 2] |
| - !sum [3, 4] |
| `) |
| printYaml(slices.Collect(v.All())) |
| |
| // Output: |
| // - [1, 3] |
| // - [1, 4] |
| // - [2, 3] |
| // - [2, 4] |
| } |
| |
| func ExampleClosure_All_def() { |
| v := mustParse(` |
| a: !sum [1, 2] |
| b: !sum [3, 4] |
| c: 5 |
| `) |
| printYaml(slices.Collect(v.All())) |
| |
| // Output: |
| // - {a: 1, b: 3, c: 5} |
| // - {a: 1, b: 4, c: 5} |
| // - {a: 2, b: 3, c: 5} |
| // - {a: 2, b: 4, c: 5} |
| } |
| |
| func checkDecode[T any](t *testing.T, got *Value, want T) { |
| var gotT T |
| if err := got.Decode(&gotT); err != nil { |
| t.Fatalf("Decode failed: %v", err) |
| } |
| if !reflect.DeepEqual(&gotT, &want) { |
| t.Fatalf("got:\n%s\nwant:\n%s", prettyYaml(gotT), prettyYaml(want)) |
| } |
| } |