package main import ( "fmt" "os" "reflect" "testing" yaml "gopkg.in/yaml.v2" ) func parseData(rawData string) yaml.MapSlice { var parsedData yaml.MapSlice err := yaml.Unmarshal([]byte(rawData), &parsedData) if err != nil { fmt.Printf("Error parsing yaml: %v\n", err) os.Exit(1) } return parsedData } func assertResult(t *testing.T, expectedValue interface{}, actualValue interface{}) { if expectedValue != actualValue { t.Error("Expected <", expectedValue, "> but got <", actualValue, ">", fmt.Sprintf("%T", actualValue)) } } func assertResultComplex(t *testing.T, expectedValue interface{}, actualValue interface{}) { if !reflect.DeepEqual(expectedValue, actualValue) { t.Error("Expected <", expectedValue, "> but got <", actualValue, ">", fmt.Sprintf("%T", actualValue)) } } func assertResultWithContext(t *testing.T, expectedValue interface{}, actualValue interface{}, context interface{}) { if expectedValue != actualValue { t.Error(context) t.Error(": expected <", expectedValue, "> but got <", actualValue, ">") } }