1package seq
2
3import "strings"
4
5func hasNestedObject(actual map[string]string, key string) bool {
6	for k, _ := range actual {
7		if strings.HasPrefix(k, key) {
8			return true
9		}
10	}
11	return false
12}
13
14func diff(expected, actual map[string]string) *Result {
15	res := NewResult()
16
17	for ek, ev := range expected {
18		var av, ok = actual[ek]
19
20		if !ok {
21			if hasNestedObject(actual, ek) {
22				res.AddIssue(ek, ev, "{Object}")
23			} else {
24				res.AddIssue(ek, ev, "nothing")
25			}
26
27		} else if av != ev {
28			res.AddIssue(ek, ev, av)
29		}
30	}
31
32	return res
33}
34