48 lines
2.1 KiB
Go
48 lines
2.1 KiB
Go
package duplicates
|
||
|
||
import "testing"
|
||
|
||
// TestWithoutCommonPrefix prüft, wann das Präfix eines Titels aus dem
|
||
// Dublettenvergleich herausfällt — nur wenn beide Titel dasselbe haben.
|
||
func TestWithoutCommonPrefix(t *testing.T) {
|
||
cases := []struct {
|
||
name string
|
||
newer, existing string
|
||
topicNew, topicExisting 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 cases {
|
||
t.Run(f.name, func(t *testing.T) {
|
||
newer, existing := withoutCommonPrefix(f.newer, f.existing)
|
||
if newer != f.topicNew || existing != f.topicExisting {
|
||
t.Errorf("ohneGemeinsamesPraefix(%q, %q) = (%q, %q), erwartet (%q, %q)",
|
||
f.newer, f.existing, newer, existing, f.topicNew, f.topicExisting)
|
||
}
|
||
})
|
||
}
|
||
}
|