package msgview import "testing" func TestGetCollisionlessFilename(t *testing.T) { tests := []struct { originalFilename string expectedNewName string existingFiles map[string]struct{} }{ {"test", "test", map[string]struct{}{}}, {"test", "test", map[string]struct{}{"other-file": {}}}, {"test.txt", "test.txt", map[string]struct{}{"test.log": {}}}, {"test.txt", "test_1.txt", map[string]struct{}{"test.txt": {}}}, {"test.txt", "test_2.txt", map[string]struct{}{"test.txt": {}, "test_1.txt": {}}}, {"test.txt", "test_1.txt", map[string]struct{}{"test.txt": {}, "test_2.txt": {}}}, } for _, tt := range tests { actual := getCollisionlessFilename(tt.originalFilename, tt.existingFiles) if actual != tt.expectedNewName { t.Errorf("expected %s, actual %s", tt.expectedNewName, actual) } } }