| // 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)) | |
| } | |
| } | |