From 391f94c8cc7ea77b24a61034a2e6a700ccafdc07 Mon Sep 17 00:00:00 2001 From: mpppk Date: Sun, 28 Jul 2019 11:19:46 +0900 Subject: [PATCH] Add test for sum command --- cmd/sum_test.go | 36 ++++++++++++++++++++++++++++++++++++ 1 file changed, 36 insertions(+) create mode 100644 cmd/sum_test.go diff --git a/cmd/sum_test.go b/cmd/sum_test.go new file mode 100644 index 0000000..3873a1a --- /dev/null +++ b/cmd/sum_test.go @@ -0,0 +1,36 @@ +package cmd + +import ( + "bytes" + "strings" + "testing" +) + +func TestSum(t *testing.T) { + cases := []struct { + command string + want string + }{ + {command: "sum -- -1 2", want: "1\n"}, + {command: "sum --norm -- -1 2", want: "3\n"}, + } + + for _, c := range cases { + buf := new(bytes.Buffer) + cmd, err := NewRootCmd() + if err != nil { + t.Errorf("failed to create root cmd: %s", err) + } + cmd.SetOut(buf) + cmdArgs := strings.Split(c.command, " ") + cmd.SetArgs(cmdArgs) + if err := cmd.Execute(); err != nil { + t.Errorf("failed to execute cmd: %s", err) + } + + get := buf.String() + if c.want != get { + t.Errorf("unexpected response: want:%q, get:%q", c.want, get) + } + } +}