Initial commit: Go project with greet function and CLI
This commit is contained in:
10
pkg/greet/greet.go
Normal file
10
pkg/greet/greet.go
Normal file
@@ -0,0 +1,10 @@
|
||||
package greet
|
||||
|
||||
// Greet returns a greeting message for the given name.
|
||||
// If name is empty, it defaults to "world".
|
||||
func Greet(name string) string {
|
||||
if name == "" {
|
||||
return "Hello world!"
|
||||
}
|
||||
return "Hello " + name + "!"
|
||||
}
|
||||
24
pkg/greet/greet_test.go
Normal file
24
pkg/greet/greet_test.go
Normal file
@@ -0,0 +1,24 @@
|
||||
package greet
|
||||
|
||||
import "testing"
|
||||
|
||||
func TestGreet(t *testing.T) {
|
||||
tests := []struct {
|
||||
name string
|
||||
expected string
|
||||
}{
|
||||
{"", "Hello world!"},
|
||||
{"John", "Hello John!"},
|
||||
{"Alice", "Hello Alice!"},
|
||||
{" ", "Hello !"}, // spaces are not considered empty
|
||||
}
|
||||
|
||||
for _, tt := range tests {
|
||||
t.Run(tt.name, func(t *testing.T) {
|
||||
result := Greet(tt.name)
|
||||
if result != tt.expected {
|
||||
t.Errorf("Greet(%q) = %q, want %q", tt.name, result, tt.expected)
|
||||
}
|
||||
})
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user