Feature Template Module Titles (Test)

This commit is contained in:
survellow
2023-10-18 00:53:06 +02:00
parent 01e32448c9
commit ccd164bb07
8 changed files with 289 additions and 24 deletions

View File

@@ -0,0 +1,23 @@
package names
import (
"htwkalender/model"
"regexp"
)
func ReplaceTemplateSubStrings(rawString string, event model.Event) string {
re := regexp.MustCompile(`\%(.)`)
return re.ReplaceAllStringFunc(rawString, func(match string) string {
switch match {
case "%%":
return "%"
case "%t":
return event.EventType
case "%p":
return event.Compulsory
default:
return match
}
})
}

View File

@@ -0,0 +1,78 @@
package names
import (
"htwkalender/model"
"testing"
)
func TestReplaceTemplateSubStrings(t *testing.T) {
type args struct {
rawString string
event model.Event
}
tests := []struct {
name string
args args
want string
}{
{
name: "Test 1",
args: args{
rawString: "%t",
event: model.Event{
EventType: "Test",
},
},
want: "Test",
},
{
name: "Test 2",
args: args{
rawString: "%p",
event: model.Event{
Compulsory: "Test",
},
},
want: "Test",
},
{
name: "Test 3",
args: args{
rawString: "%%",
event: model.Event{
EventType: "Test",
},
},
want: "%",
},
{
name: "Test 4",
args: args{
rawString: "%t %p",
event: model.Event{
EventType: "Test",
Compulsory: "Test",
},
},
want: "Test Test",
},
{
name: "Test 5",
args: args{
rawString: "%t %p %%",
event: model.Event{
EventType: "Test",
Compulsory: "Test",
},
},
want: "Test Test %",
},
}
for _, tt := range tests {
t.Run(tt.name, func(t *testing.T) {
if got := ReplaceTemplateSubStrings(tt.args.rawString, tt.args.event); got != tt.want {
t.Errorf("ReplaceTemplateSubStrings() = %v, want %v", got, tt.want)
}
})
}
}