package greet

import (
	"context"
	"testing"
)

func TestServiceV2_GreetV2(t *testing.T) {
	service := NewServiceV2()
	tests := []struct {
		name     string
		expected string
	}{
		{"", "Hello my friend!"},
		{"John", "Hello my friend John!"},
		{"Alice", "Hello my friend Alice!"},
		{"  ", "Hello my friend   !"}, // spaces are not considered empty
	}

	for _, tt := range tests {
		t.Run(tt.name, func(t *testing.T) {
			result := service.GreetV2(context.Background(), tt.name)
			if result != tt.expected {
				t.Errorf("GreetV2(%q) = %q, want %q", tt.name, result, tt.expected)
			}
		})
	}
}
