CamelCaserTests.swift 1.4 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546
  1. /*
  2. * Copyright 2024, gRPC Authors All rights reserved.
  3. *
  4. * Licensed under the Apache License, Version 2.0 (the "License");
  5. * you may not use this file except in compliance with the License.
  6. * You may obtain a copy of the License at
  7. *
  8. * http://www.apache.org/licenses/LICENSE-2.0
  9. *
  10. * Unless required by applicable law or agreed to in writing, software
  11. * distributed under the License is distributed on an "AS IS" BASIS,
  12. * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  13. * See the License for the specific language governing permissions and
  14. * limitations under the License.
  15. */
  16. import GRPCProtobufCodeGen
  17. import Testing
  18. @Suite("CamelCaser")
  19. struct CamelCaserTests {
  20. @Test(
  21. "Convert to lower camel case",
  22. arguments: [
  23. ("ImportCsv", "importCsv"),
  24. ("ImportCSV", "importCSV"),
  25. ("CSVImport", "csvImport"),
  26. ("importCSV", "importCSV"),
  27. ("FOOBARImport", "foobarImport"),
  28. ("FOO_BARImport", "foo_barImport"),
  29. ("My_CSVImport", "my_CSVImport"),
  30. ("_CSVImport", "_csvImport"),
  31. ("V2Request", "v2Request"),
  32. ("V2_Request", "v2_Request"),
  33. ("CSV", "csv"),
  34. ("I", "i"),
  35. ("i", "i"),
  36. ("I_", "i_"),
  37. ("_", "_"),
  38. ("", ""),
  39. ]
  40. )
  41. func toLowerCamelCase(_ input: String, expectedOutput: String) async throws {
  42. #expect(CamelCaser.toLowerCamelCase(input) == expectedOutput)
  43. }
  44. }