From 70a320bf73d078c1f2988340f2bd7d8992ac7702 Mon Sep 17 00:00:00 2001 From: Shulhan Date: Thu, 17 May 2018 06:42:41 +0700 Subject: [test] package: add unit test for linkRequiredBy --- package.go | 4 ++++ package_test.go | 42 ++++++++++++++++++++++++++++++++++++++++++ 2 files changed, 46 insertions(+) diff --git a/package.go b/package.go index ea5030a..475f7f4 100644 --- a/package.go +++ b/package.go @@ -274,6 +274,10 @@ func (pkg *Package) linkDep(dep *Package) bool { return true } +// +// linkRequiredBy add the parent package as requirement by current package, +// only if it's exist yet. +// func (pkg *Package) linkRequiredBy(parentPkg *Package) bool { for x := 0; x < len(pkg.RequiredBy); x++ { if parentPkg.ImportPath == pkg.RequiredBy[x] { diff --git a/package_test.go b/package_test.go index f8dafea..0cf5022 100644 --- a/package_test.go +++ b/package_test.go @@ -183,3 +183,45 @@ func TestAddDep(t *testing.T) { gitCurPkg.Deps = nil gitCurPkg.DepsMissing = nil } + +func TestLinkRequiredBy(t *testing.T) { + cases := []struct { + desc string + parentPkg *Package + exp bool + expRequiredBy []string + }{{ + desc: "Not exist yet", + parentPkg: &Package{ + ImportPath: "github.com/shuLhan/share", + }, + exp: true, + expRequiredBy: []string{ + "github.com/shuLhan/share", + }, + }, { + desc: "Already exist", + parentPkg: &Package{ + ImportPath: "github.com/shuLhan/share", + }, + expRequiredBy: []string{ + "github.com/shuLhan/share", + }, + }} + + gitCurPkg.RequiredBy = nil + + var got bool + + for _, c := range cases { + t.Log(c.desc) + + got = gitCurPkg.linkRequiredBy(c.parentPkg) + + test.Assert(t, "return value", c.exp, got, true) + test.Assert(t, "RequiredBy", c.expRequiredBy, + gitCurPkg.RequiredBy, true) + } + + gitCurPkg.RequiredBy = nil +} -- cgit v1.3