From f9567f0d4fc5cf6d0e1cea2d22289250c6b1cb2b Mon Sep 17 00:00:00 2001 From: Shulhan Date: Mon, 5 Jan 2026 21:47:09 +0700 Subject: lib/git: implement Equaler interface on Git The Equaler interface provide the method Equal that when implemented can be used to compare two instances of struct. --- lib/git/git_example_test.go | 31 +++++++++++++++++++++++++++++++ 1 file changed, 31 insertions(+) (limited to 'lib/git/git_example_test.go') diff --git a/lib/git/git_example_test.go b/lib/git/git_example_test.go index 0b55a251..968d4431 100644 --- a/lib/git/git_example_test.go +++ b/lib/git/git_example_test.go @@ -40,3 +40,34 @@ func ExampleGit_IsIgnored() { // "hello.go": false // "foo/hello.go": false } + +func ExampleGit_Equal() { + var agit *git.Git + var err error + agit, err = git.New(`testdata/Equal`) + if err != nil { + log.Fatal(err) + } + + var vgit *git.Git + var dir = `testdata/IsIgnored` + + vgit, err = git.New(dir) + if err != nil { + log.Fatal(err) + } + var got = agit.Equal(vgit) + fmt.Printf("On git %s: Equal is %t\n", dir, got) + + dir = `testdata/Equal` + vgit, err = git.New(dir) + if err != nil { + log.Fatal(err) + } + got = agit.Equal(vgit) + fmt.Printf("On git %s: Equal is %t\n", dir, got) + + // Output: + // On git testdata/IsIgnored: Equal is false + // On git testdata/Equal: Equal is true +} -- cgit v1.3