Skip to content

Commit 8b13732

Browse files
committed
Add formatting logic
1 parent ea62fd6 commit 8b13732

File tree

3 files changed

+29
-2
lines changed

3 files changed

+29
-2
lines changed

commands/printcase.go

+4-2
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,7 @@ import (
44
"errors"
55
"github.com/urfave/cli/v2"
66
"github.com/chermehdi/egor/config"
7+
"github.com/chermehdi/egor/utils"
78
"github.com/fatih/color"
89
"os"
910
"path"
@@ -45,11 +46,12 @@ func GetTestCase(egorMeta config.EgorMeta, id int) *TestCaseIO {
4546
}
4647

4748
func PrintTestCaseInput(testCase *TestCaseIO) {
48-
color.Green("Input:")
49+
4950
file, err := config.OpenFileFromPath(testCase.InputPath)
5051
if err != nil {
5152
color.Red("Failed to read test case input")
5253
} else {
54+
color.Green(utils.GetHeader("Input", "========", 10))
5355
scanner := bufio.NewScanner(file)
5456
for scanner.Scan() {
5557
fmt.Println(scanner.Text())
@@ -59,11 +61,11 @@ func PrintTestCaseInput(testCase *TestCaseIO) {
5961
}
6062

6163
func PrintTestCaseOutput(testCase *TestCaseIO) {
62-
color.Green("Output:")
6364
file, err := config.OpenFileFromPath(testCase.OutputPath)
6465
if err != nil {
6566
color.Red("Failed to read test case input")
6667
} else {
68+
color.Green(utils.GetHeader("Output", "========", 10))
6769
scanner := bufio.NewScanner(file)
6870
for scanner.Scan() {
6971
fmt.Println(scanner.Text())

utils/formatter.go

+10
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,10 @@
1+
package utils
2+
3+
import (
4+
"fmt"
5+
"strings"
6+
)
7+
8+
func GetHeader(headerText, headerBorder string, headerRepeat int) string {
9+
return fmt.Sprintf("%s\n%s", headerText, strings.Repeat(headerBorder, headerRepeat))
10+
}

utils/formatter_test.go

+15
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,15 @@
1+
package utils
2+
3+
import (
4+
"testing"
5+
"github.com/stretchr/testify/assert"
6+
"fmt"
7+
)
8+
9+
func TestGetHeader(t *testing.T) {
10+
header := GetHeader("my header", "==", 10);
11+
expected := fmt.Sprintf("my header\n====================");
12+
13+
assert.Equal(t, header, expected)
14+
}
15+

0 commit comments

Comments
 (0)