2020-02-02 02:00:47 +01:00
|
|
|
package txt
|
|
|
|
|
|
|
|
import (
|
|
|
|
"testing"
|
|
|
|
|
|
|
|
"github.com/stretchr/testify/assert"
|
|
|
|
)
|
|
|
|
|
|
|
|
func TestWords(t *testing.T) {
|
2020-12-27 16:37:28 +01:00
|
|
|
t.Run("桥", func(t *testing.T) {
|
|
|
|
result := Words("桥")
|
|
|
|
assert.Equal(t, []string{"桥"}, result)
|
|
|
|
})
|
2020-12-30 13:59:27 +01:00
|
|
|
t.Run("桥船", func(t *testing.T) {
|
|
|
|
result := Words("桥船")
|
|
|
|
assert.Equal(t, []string{"桥船"}, result)
|
|
|
|
})
|
|
|
|
t.Run("桥船猫", func(t *testing.T) {
|
|
|
|
result := Words("桥船猫")
|
|
|
|
assert.Equal(t, []string{"桥船猫"}, result)
|
|
|
|
})
|
|
|
|
t.Run("谢谢!", func(t *testing.T) {
|
|
|
|
result := Words("谢谢!")
|
|
|
|
assert.Equal(t, []string{"谢谢"}, result)
|
|
|
|
})
|
2020-04-16 15:57:07 +02:00
|
|
|
t.Run("I'm a lazy-brown fox!", func(t *testing.T) {
|
|
|
|
result := Words("I'm a lazy-BRoWN fox!")
|
|
|
|
assert.Equal(t, []string{"lazy-BRoWN", "fox"}, result)
|
2020-02-02 02:00:47 +01:00
|
|
|
})
|
|
|
|
t.Run("no result", func(t *testing.T) {
|
|
|
|
result := Words("x")
|
|
|
|
assert.Equal(t, []string(nil), result)
|
|
|
|
})
|
2020-05-18 11:12:40 +02:00
|
|
|
t.Run("Österreich Urlaub", func(t *testing.T) {
|
|
|
|
result := Words("Österreich Urlaub")
|
|
|
|
assert.Equal(t, []string{"Österreich", "Urlaub"}, result)
|
|
|
|
})
|
|
|
|
t.Run("Schäferhund", func(t *testing.T) {
|
|
|
|
result := Words("Schäferhund")
|
|
|
|
assert.Equal(t, []string{"Schäferhund"}, result)
|
|
|
|
})
|
|
|
|
t.Run("Île de la Réunion", func(t *testing.T) {
|
|
|
|
result := Words("Île de la Réunion")
|
|
|
|
assert.Equal(t, []string{"Île", "Réunion"}, result)
|
|
|
|
})
|
2020-02-02 02:00:47 +01:00
|
|
|
}
|
|
|
|
|
2020-04-28 17:03:37 +02:00
|
|
|
func TestReplaceSpaces(t *testing.T) {
|
|
|
|
t.Run("I love Cats", func(t *testing.T) {
|
|
|
|
result := ReplaceSpaces("I love Cats", "dog")
|
|
|
|
assert.Equal(t, "IdoglovedogCats", result)
|
|
|
|
})
|
|
|
|
}
|
|
|
|
|
2020-04-16 15:57:07 +02:00
|
|
|
func TestFilenameWords(t *testing.T) {
|
|
|
|
t.Run("I'm a lazy-brown fox!", func(t *testing.T) {
|
|
|
|
result := FilenameWords("I'm a lazy-BRoWN fox!")
|
|
|
|
assert.Equal(t, []string{"lazy", "BRoWN", "fox"}, result)
|
|
|
|
})
|
|
|
|
t.Run("no result", func(t *testing.T) {
|
|
|
|
result := FilenameWords("x")
|
|
|
|
assert.Equal(t, []string(nil), result)
|
|
|
|
})
|
2020-05-18 11:17:14 +02:00
|
|
|
t.Run("Österreich Urlaub", func(t *testing.T) {
|
|
|
|
result := FilenameWords("Österreich Urlaub")
|
|
|
|
assert.Equal(t, []string{"Österreich", "Urlaub"}, result)
|
|
|
|
})
|
|
|
|
t.Run("Schäferhund", func(t *testing.T) {
|
|
|
|
result := FilenameWords("Schäferhund")
|
|
|
|
assert.Equal(t, []string{"Schäferhund"}, result)
|
|
|
|
})
|
|
|
|
t.Run("Île de la Réunion", func(t *testing.T) {
|
|
|
|
result := FilenameWords("Île de la Réunion")
|
|
|
|
assert.Equal(t, []string{"Île", "Réunion"}, result)
|
|
|
|
})
|
2020-04-16 15:57:07 +02:00
|
|
|
}
|
|
|
|
|
2020-04-16 23:30:30 +02:00
|
|
|
func TestFilenameKeywords(t *testing.T) {
|
2020-12-27 16:37:28 +01:00
|
|
|
t.Run("桥.jpg", func(t *testing.T) {
|
|
|
|
result := FilenameKeywords("桥.jpg")
|
|
|
|
assert.Equal(t, []string{"桥"}, result)
|
|
|
|
})
|
2020-04-16 23:30:30 +02:00
|
|
|
t.Run("I'm a lazy-brown var fox.jpg!", func(t *testing.T) {
|
|
|
|
result := FilenameKeywords("I'm a lazy-brown var fox.jpg!")
|
|
|
|
assert.Equal(t, []string{"lazy", "brown", "fox"}, result)
|
|
|
|
})
|
|
|
|
t.Run("no result", func(t *testing.T) {
|
|
|
|
result := FilenameKeywords("x")
|
|
|
|
assert.Equal(t, []string(nil), result)
|
|
|
|
})
|
2020-05-18 11:17:14 +02:00
|
|
|
t.Run("Österreich Urlaub", func(t *testing.T) {
|
|
|
|
result := FilenameKeywords("Österreich Urlaub")
|
|
|
|
assert.Equal(t, []string{"österreich", "urlaub"}, result)
|
|
|
|
})
|
|
|
|
t.Run("Schäferhund", func(t *testing.T) {
|
|
|
|
result := FilenameKeywords("Schäferhund")
|
|
|
|
assert.Equal(t, []string{"schäferhund"}, result)
|
|
|
|
})
|
|
|
|
t.Run("Île de la Réunion", func(t *testing.T) {
|
|
|
|
result := FilenameKeywords("Île de la Réunion")
|
|
|
|
assert.Equal(t, []string{"île", "réunion"}, result)
|
|
|
|
})
|
2020-04-16 23:30:30 +02:00
|
|
|
}
|
|
|
|
|
2020-02-02 02:00:47 +01:00
|
|
|
func TestKeywords(t *testing.T) {
|
2020-12-30 13:59:27 +01:00
|
|
|
t.Run("桥", func(t *testing.T) {
|
|
|
|
result := Keywords("桥")
|
|
|
|
assert.Equal(t, []string{"桥"}, result)
|
|
|
|
})
|
|
|
|
t.Run("桥船", func(t *testing.T) {
|
|
|
|
result := Keywords("桥船")
|
|
|
|
assert.Equal(t, []string{"桥船"}, result)
|
|
|
|
})
|
|
|
|
t.Run("桥船猫", func(t *testing.T) {
|
|
|
|
result := Keywords("桥船猫")
|
|
|
|
assert.Equal(t, []string{"桥船猫"}, result)
|
|
|
|
})
|
|
|
|
t.Run("谢谢!", func(t *testing.T) {
|
|
|
|
result := Keywords("谢谢!")
|
|
|
|
assert.Equal(t, []string{"谢谢"}, result)
|
|
|
|
})
|
2020-02-02 02:00:47 +01:00
|
|
|
t.Run("I'm a lazy brown fox!", func(t *testing.T) {
|
|
|
|
result := Keywords("I'm a lazy BRoWN img!")
|
|
|
|
assert.Equal(t, []string{"lazy", "brown"}, result)
|
|
|
|
})
|
|
|
|
t.Run("no result", func(t *testing.T) {
|
|
|
|
result := Keywords("was")
|
|
|
|
assert.Equal(t, []string(nil), result)
|
|
|
|
})
|
2020-05-18 11:17:14 +02:00
|
|
|
t.Run("Österreich Urlaub", func(t *testing.T) {
|
|
|
|
result := Keywords("Österreich Urlaub")
|
|
|
|
assert.Equal(t, []string{"österreich", "urlaub"}, result)
|
|
|
|
})
|
|
|
|
t.Run("Schäferhund", func(t *testing.T) {
|
|
|
|
result := Keywords("Schäferhund")
|
|
|
|
assert.Equal(t, []string{"schäferhund"}, result)
|
|
|
|
})
|
|
|
|
t.Run("Île de la Réunion", func(t *testing.T) {
|
|
|
|
result := Keywords("Île de la Réunion")
|
|
|
|
assert.Equal(t, []string{"île", "réunion"}, result)
|
|
|
|
})
|
2020-02-02 02:00:47 +01:00
|
|
|
}
|
2020-03-25 12:39:07 +01:00
|
|
|
|
|
|
|
func TestUniqueWords(t *testing.T) {
|
|
|
|
t.Run("many", func(t *testing.T) {
|
2020-04-16 23:30:30 +02:00
|
|
|
result := UniqueWords([]string{"lazy", "jpg", "Brown", "apple", "brown", "new-york", "JPG"})
|
|
|
|
assert.Equal(t, []string{"apple", "brown", "jpg", "lazy", "new-york"}, result)
|
2020-03-25 12:39:07 +01:00
|
|
|
})
|
|
|
|
t.Run("one", func(t *testing.T) {
|
|
|
|
result := UniqueWords([]string{"lazy"})
|
|
|
|
assert.Equal(t, []string{"lazy"}, result)
|
|
|
|
})
|
|
|
|
}
|
|
|
|
|
|
|
|
func TestUniqueKeywords(t *testing.T) {
|
|
|
|
t.Run("many", func(t *testing.T) {
|
2020-04-16 21:49:31 +02:00
|
|
|
result := UniqueKeywords("lazy, Brown, apple, new-york, brown, ...")
|
2020-04-16 15:57:07 +02:00
|
|
|
assert.Equal(t, []string{"apple", "brown", "lazy", "new-york"}, result)
|
2020-03-25 12:39:07 +01:00
|
|
|
})
|
|
|
|
t.Run("one", func(t *testing.T) {
|
|
|
|
result := UniqueKeywords("")
|
|
|
|
assert.Equal(t, []string(nil), result)
|
|
|
|
})
|
|
|
|
}
|
2020-05-28 21:20:42 +02:00
|
|
|
|
|
|
|
func TestRemoveFromWords(t *testing.T) {
|
|
|
|
t.Run("brown apple", func(t *testing.T) {
|
|
|
|
result := RemoveFromWords([]string{"lazy", "jpg", "Brown", "apple", "brown", "new-york", "JPG"}, "brown apple")
|
|
|
|
assert.Equal(t, []string{"jpg", "lazy", "new-york"}, result)
|
|
|
|
})
|
|
|
|
t.Run("empty", func(t *testing.T) {
|
|
|
|
result := RemoveFromWords([]string{"lazy", "jpg", "Brown", "apple"}, "")
|
|
|
|
assert.Equal(t, []string{"apple", "brown", "jpg", "lazy"}, result)
|
|
|
|
})
|
|
|
|
}
|