48 lines
2.1 KiB
Go
48 lines
2.1 KiB
Go
package dubletten
|
||
|
||
import "testing"
|
||
|
||
// TestOhneGemeinsamesPraefix prüft, wann das Präfix eines Titels aus dem
|
||
// Dublettenvergleich herausfällt — nur wenn beide Titel dasselbe haben.
|
||
func TestOhneGemeinsamesPraefix(t *testing.T) {
|
||
faelle := []struct {
|
||
name string
|
||
neu, vorhanden string
|
||
themaNeu, themaVorhand string
|
||
}{
|
||
{"gleiches Präfix mit Halbgeviertstrich",
|
||
"Munin – Architektur", "Munin – Überblick", "Architektur", "Überblick"},
|
||
{"Bindestrich mit Leerzeichen",
|
||
"Munin - Architektur", "Munin - Überblick", "Architektur", "Überblick"},
|
||
{"Doppelpunkt",
|
||
"Munin: Architektur", "Munin: Überblick", "Architektur", "Überblick"},
|
||
{"senkrechter Strich",
|
||
"Munin | Architektur", "Munin | Überblick", "Architektur", "Überblick"},
|
||
{"Groß-/Kleinschreibung und Leerzeichen im Präfix egal",
|
||
"Munin Wiki – Architektur", "munin wiki – Überblick", "Architektur", "Überblick"},
|
||
{"verschiedene Trenner, gleiches Präfix",
|
||
"Munin – Architektur", "Munin: Überblick", "Architektur", "Überblick"},
|
||
{"nur am ersten Trenner geteilt",
|
||
"Munin – Architektur – Speicher", "Munin – Überblick", "Architektur – Speicher", "Überblick"},
|
||
|
||
// Hier muss der volle Titel im Vergleich bleiben.
|
||
{"verschiedene Präfixe",
|
||
"Munin – Deployment", "Hugin – Deployment", "Munin – Deployment", "Hugin – Deployment"},
|
||
{"nur einer hat ein Präfix",
|
||
"Munin – Deployment", "Deployment-Prozess", "Munin – Deployment", "Deployment-Prozess"},
|
||
{"Bindestrich ohne Leerzeichen ist kein Trenner",
|
||
"Deployment-Ablauf", "Deployment-Prozess", "Deployment-Ablauf", "Deployment-Prozess"},
|
||
{"nichts nach dem Trenner",
|
||
"Munin – ", "Munin – Überblick", "Munin – ", "Munin – Überblick"},
|
||
}
|
||
|
||
for _, f := range faelle {
|
||
t.Run(f.name, func(t *testing.T) {
|
||
neu, vorhanden := ohneGemeinsamesPraefix(f.neu, f.vorhanden)
|
||
if neu != f.themaNeu || vorhanden != f.themaVorhand {
|
||
t.Errorf("ohneGemeinsamesPraefix(%q, %q) = (%q, %q), erwartet (%q, %q)",
|
||
f.neu, f.vorhanden, neu, vorhanden, f.themaNeu, f.themaVorhand)
|
||
}
|
||
})
|
||
}
|
||
}
|