You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

33 lines
842 B

  1. package strcase
  2. import (
  3. "testing"
  4. )
  5. func TestToSnake(t *testing.T) {
  6. cases := [][]string{
  7. []string{ "testCase", "test_case" },
  8. []string{ "TestCase", "test_case" },
  9. []string{ "Test Case", "test_case" },
  10. []string{ " Test Case", "test_case" },
  11. []string{ "Test Case ", "test_case" },
  12. []string{ " Test Case ", "test_case" },
  13. []string{ "test", "test" },
  14. []string{ "test_case", "test_case" },
  15. []string{ "Test", "test" },
  16. []string{ "", "" },
  17. []string{ "ManyManyWords", "many_many_words" },
  18. []string{ "manyManyWords", "many_many_words" },
  19. []string{ "AnyKind of_string", "any_kind_of_string" },
  20. []string{ "numbers2and55with000", "numbers_2_and_55_with_000" },
  21. }
  22. for _, i := range cases {
  23. in := i[0]
  24. out := i[1]
  25. result := ToSnake(in)
  26. if result != out {
  27. t.Error("'" + result + "' != '" + out + "'")
  28. }
  29. }
  30. }