NamingStrategyTest.php 2.6 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576
  1. <?php
  2. namespace Test\PhpDevCommunity\PaperORM\Common;
  3. use PhpDevCommunity\PaperORM\Parser\DSNParser;
  4. use PhpDevCommunity\PaperORM\Tools\NamingStrategy;
  5. use PhpDevCommunity\PaperORM\Tools\Slugger;
  6. use PhpDevCommunity\UniTester\TestCase;
  7. class NamingStrategyTest extends TestCase
  8. {
  9. protected function setUp(): void
  10. {
  11. // TODO: Implement setUp() method.
  12. }
  13. protected function tearDown(): void
  14. {
  15. // TODO: Implement tearDown() method.
  16. }
  17. protected function execute(): void
  18. {
  19. $tests = [
  20. 'id' => 'id',
  21. 'name' => 'name',
  22. 'emailAddress' => 'email_address',
  23. 'userId' => 'user_id',
  24. 'createdAt' => 'created_at',
  25. 'updatedAt' => 'updated_at',
  26. 'invoiceNumber' => 'invoice_number',
  27. 'shippingCost' => 'shipping_cost',
  28. 'UUID' => 'uuid',
  29. 'UUIDValue' => 'uuid_value',
  30. 'userUUID' => 'user_uuid',
  31. 'HTMLParser' => 'html_parser',
  32. 'XMLHttpRequest' => 'xml_http_request',
  33. 'APIResponseCode' => 'api_response_code',
  34. 'HTTPRequestTime' => 'http_request_time',
  35. 'PaperORMVersion' => 'paper_orm_version',
  36. 'user2Id' => 'user_2_id',
  37. 'version1Name' => 'version_1_name',
  38. 'HTTP2Server' => 'http_2_server',
  39. 'Order2Item' => 'order_2_item',
  40. 'ApiV2Endpoint' => 'api_v2_endpoint',
  41. 'Invoice2025Count' => 'invoice_2025_count',
  42. 'User' => 'user',
  43. 'UserProfile' => 'user_profile',
  44. 'InvoiceDetail' => 'invoice_detail',
  45. 'OrderLine' => 'order_line',
  46. 'ClientAddressBook' => 'client_address_book',
  47. 'userIDNumber' => 'user_id_number',
  48. 'userIPAddress' => 'user_ip_address',
  49. 'userHTTPResponse' => 'user_http_response',
  50. 'productSKUCode' => 'product_sku_code',
  51. 'fileMD5Hash' => 'file_md5_hash',
  52. 'dataJSONEncoded' => 'data_json_encoded',
  53. 'PaperXMLParser' => 'paper_xml_parser',
  54. 'PaperURLGenerator' => 'paper_url_generator',
  55. 'DBConnectionName' => 'db_connection_name',
  56. 'SQLQueryTime' => 'sql_query_time',
  57. ];
  58. foreach ($tests as $test) {
  59. $out = NamingStrategy::toSnakeCase($test);
  60. $this->assertStrictEquals($out, $test);
  61. }
  62. }
  63. }