1
|
|
|
<?php |
2
|
|
|
|
3
|
|
|
declare(strict_types=1); |
4
|
|
|
|
5
|
|
|
namespace EcodevTests\Felix\Api; |
6
|
|
|
|
7
|
|
|
use Ecodev\Felix\Api\Plural; |
8
|
|
|
use PHPUnit\Framework\TestCase; |
9
|
|
|
|
10
|
|
|
class PluralTest extends TestCase |
11
|
|
|
{ |
12
|
|
|
/** |
13
|
|
|
* @dataProvider providerMake |
14
|
|
|
*/ |
15
|
|
|
public function testMake(string $input, string $expected): void |
16
|
|
|
{ |
17
|
|
|
self::assertSame($expected, Plural::make($input)); |
18
|
|
|
} |
19
|
|
|
|
20
|
|
|
public function providerMake(): iterable |
21
|
|
|
{ |
22
|
|
|
yield ['Account', 'Accounts']; |
23
|
|
|
yield ['AccountingDocument', 'AccountingDocuments']; |
24
|
|
|
yield ['Action', 'Actions']; |
25
|
|
|
yield ['Aggregation', 'Aggregations']; |
26
|
|
|
yield ['AggregationSet', 'AggregationSets']; |
27
|
|
|
yield ['Answer', 'Answers']; |
28
|
|
|
yield ['AntiqueName', 'AntiqueNames']; |
29
|
|
|
yield ['Artist', 'Artists']; |
30
|
|
|
yield ['AttributeDefinition', 'AttributeDefinitions']; |
31
|
|
|
yield ['AttributeValue', 'AttributeValues']; |
32
|
|
|
yield ['AuditNote', 'AuditNotes']; |
33
|
|
|
yield ['AuditNoteContainerInterface', 'AuditNoteContainerInterfaces']; |
34
|
|
|
yield ['AutomaticStateStampInterface', 'AutomaticStateStampInterfaces']; |
35
|
|
|
yield ['BelongChecklistInterface', 'BelongChecklistInterfaces']; |
36
|
|
|
yield ['BelongGroupInterface', 'BelongGroupInterfaces']; |
37
|
|
|
yield ['BelongOrganizationInterface', 'BelongOrganizationInterfaces']; |
38
|
|
|
yield ['BelongShopInterface', 'BelongShopInterfaces']; |
39
|
|
|
yield ['Bookable', 'Bookables']; |
40
|
|
|
yield ['BookableMetadata', 'BookableMetadatas']; |
41
|
|
|
yield ['BookableTag', 'BookableTags']; |
42
|
|
|
yield ['Booking', 'Bookings']; |
43
|
|
|
yield ['Calendar', 'Calendars']; |
44
|
|
|
yield ['Card', 'Cards']; |
45
|
|
|
yield ['Cart', 'Carts']; |
46
|
|
|
yield ['CartLine', 'CartLines']; |
47
|
|
|
yield ['Change', 'Changes']; |
48
|
|
|
yield ['Chapter', 'Chapters']; |
49
|
|
|
yield ['Checklist', 'Checklists']; |
50
|
|
|
yield ['ChecklistDocument', 'ChecklistDocuments']; |
51
|
|
|
yield ['ChecklistGroup', 'ChecklistGroups']; |
52
|
|
|
yield ['City', 'Cities']; |
53
|
|
|
yield ['Cluster', 'Clusters']; |
54
|
|
|
yield ['Collection', 'Collections']; |
55
|
|
|
yield ['Comment', 'Comments']; |
56
|
|
|
yield ['Communication', 'Communications']; |
57
|
|
|
yield ['ComputableInterface', 'ComputableInterfaces']; |
58
|
|
|
yield ['Configuration', 'Configurations']; |
59
|
|
|
yield ['Constraint', 'Constraints']; |
60
|
|
|
yield ['Control', 'Controls']; |
61
|
|
|
yield ['Country', 'Countries']; |
62
|
|
|
yield ['Course', 'Courses']; |
63
|
|
|
yield ['Dating', 'Datings']; |
64
|
|
|
yield ['Document', 'Documents']; |
65
|
|
|
yield ['DocumentInterface', 'DocumentInterfaces']; |
66
|
|
|
yield ['DocumentNote', 'DocumentNotes']; |
67
|
|
|
yield ['DocumentType', 'DocumentTypes']; |
68
|
|
|
yield ['Domain', 'Domains']; |
69
|
|
|
yield ['Door', 'Doors']; |
70
|
|
|
yield ['DynamicScale', 'DynamicScales']; |
71
|
|
|
yield ['EconomicActivity', 'EconomicActivities']; |
72
|
|
|
yield ['EmailRecipient', 'EmailRecipients']; |
73
|
|
|
yield ['EmailRecipientInterface', 'EmailRecipientInterfaces']; |
74
|
|
|
yield ['Equipment', 'Equipments']; |
75
|
|
|
yield ['Event', 'Events']; |
76
|
|
|
yield ['ExpenseClaim', 'ExpenseClaims']; |
77
|
|
|
yield ['Export', 'Exports']; |
78
|
|
|
yield ['FacilitatorDocument', 'FacilitatorDocuments']; |
79
|
|
|
yield ['Faq', 'Faqs']; |
80
|
|
|
yield ['FaqCategory', 'FaqCategories']; |
81
|
|
|
yield ['File', 'Files']; |
82
|
|
|
yield ['Folder', 'Folders']; |
83
|
|
|
yield ['Group', 'Groups']; |
84
|
|
|
yield ['GroupDocument', 'GroupDocuments']; |
85
|
|
|
yield ['HasParentInterface', 'HasParentInterfaces']; |
86
|
|
|
yield ['HasScaleAndThresholdsInterface', 'HasScaleAndThresholdsInterfaces']; |
87
|
|
|
yield ['Holiday', 'Holidays']; |
88
|
|
|
yield ['IdentityProvider', 'IdentityProviders']; |
89
|
|
|
yield ['Image', 'Images']; |
90
|
|
|
yield ['Indicator', 'Indicators']; |
91
|
|
|
yield ['IndicatorDocument', 'IndicatorDocuments']; |
92
|
|
|
yield ['Institution', 'Institutions']; |
93
|
|
|
yield ['Invoicable', 'Invoicables']; |
94
|
|
|
yield ['InvoicableLine', 'InvoicableLines']; |
95
|
|
|
yield ['Legal', 'Legals']; |
96
|
|
|
yield ['LegalReference', 'LegalReferences']; |
97
|
|
|
yield ['Lesson', 'Lessons']; |
98
|
|
|
yield ['LessonData', 'LessonDatas']; |
99
|
|
|
yield ['License', 'Licenses']; |
100
|
|
|
yield ['Log', 'Logs']; |
101
|
|
|
yield ['Map', 'Maps']; |
102
|
|
|
yield ['MapCalendar', 'MapCalendars']; |
103
|
|
|
yield ['MapPlace', 'MapPlaces']; |
104
|
|
|
yield ['Material', 'Materials']; |
105
|
|
|
yield ['Message', 'Messages']; |
106
|
|
|
yield ['News', 'Newses']; |
107
|
|
|
yield ['NotifiableInterface', 'NotifiableInterfaces']; |
108
|
|
|
yield ['Objective', 'Objectives']; |
109
|
|
|
yield ['Order', 'Orders']; |
110
|
|
|
yield ['OrderLine', 'OrderLines']; |
111
|
|
|
yield ['Organization', 'Organizations']; |
112
|
|
|
yield ['OrganizationChecklist', 'OrganizationChecklists']; |
113
|
|
|
yield ['PaymentMethod', 'PaymentMethods']; |
114
|
|
|
yield ['Period', 'Periods']; |
115
|
|
|
yield ['Place', 'Places']; |
116
|
|
|
yield ['PlaceType', 'PlaceTypes']; |
117
|
|
|
yield ['Position', 'Positions']; |
118
|
|
|
yield ['Preset', 'Presets']; |
119
|
|
|
yield ['Process', 'Processes']; |
120
|
|
|
yield ['Product', 'Products']; |
121
|
|
|
yield ['ProductTag', 'ProductTags']; |
122
|
|
|
yield ['Question', 'Questions']; |
123
|
|
|
yield ['QuestionSuggestion', 'QuestionSuggestions']; |
124
|
|
|
yield ['Region', 'Regions']; |
125
|
|
|
yield ['Report', 'Reports']; |
126
|
|
|
yield ['Risk', 'Risks']; |
127
|
|
|
yield ['RiskClassification', 'RiskClassifications']; |
128
|
|
|
yield ['RiskFrequency', 'RiskFrequencies']; |
129
|
|
|
yield ['RiskLevel', 'RiskLevels']; |
130
|
|
|
yield ['RiskMatrix', 'RiskMatrixes']; |
131
|
|
|
yield ['RiskSeverity', 'RiskSeverities']; |
132
|
|
|
yield ['Rite', 'Rites']; |
133
|
|
|
yield ['RoleContextInterface', 'RoleContextInterfaces']; |
134
|
|
|
yield ['Scale', 'Scales']; |
135
|
|
|
yield ['ScaleLike', 'ScaleLikes']; |
136
|
|
|
yield ['Section', 'Sections']; |
137
|
|
|
yield ['Session', 'Sessions']; |
138
|
|
|
yield ['Setting', 'Settings']; |
139
|
|
|
yield ['Sheet', 'Sheets']; |
140
|
|
|
yield ['SheetCalendar', 'SheetCalendars']; |
141
|
|
|
yield ['SheetOutput', 'SheetOutputs']; |
142
|
|
|
yield ['Shift', 'Shifts']; |
143
|
|
|
yield ['ShiftTag', 'ShiftTags']; |
144
|
|
|
yield ['Shop', 'Shops']; |
145
|
|
|
yield ['Site', 'Sites']; |
146
|
|
|
yield ['SiteChecklist', 'SiteChecklists']; |
147
|
|
|
yield ['State', 'States']; |
148
|
|
|
yield ['Statistic', 'Statistics']; |
149
|
|
|
yield ['StockMovement', 'StockMovements']; |
150
|
|
|
yield ['Subscription', 'Subscriptions']; |
151
|
|
|
yield ['SubscriptionForm', 'SubscriptionForms']; |
152
|
|
|
yield ['Suggestion', 'Suggestions']; |
153
|
|
|
yield ['Tag', 'Tags']; |
154
|
|
|
yield ['Task', 'Tasks']; |
155
|
|
|
yield ['Taxonomy', 'Taxonomies']; |
156
|
|
|
yield ['Theme', 'Themes']; |
157
|
|
|
yield ['Thesaurus', 'Thesauruses']; |
158
|
|
|
yield ['Threshold', 'Thresholds']; |
159
|
|
|
yield ['Timelog', 'Timelogs']; |
160
|
|
|
yield ['Transaction', 'Transactions']; |
161
|
|
|
yield ['TransactionLine', 'TransactionLines']; |
162
|
|
|
yield ['TransactionTag', 'TransactionTags']; |
163
|
|
|
yield ['User', 'Users']; |
164
|
|
|
yield ['UserCalendar', 'UserCalendars']; |
165
|
|
|
yield ['UserGroup', 'UserGroups']; |
166
|
|
|
yield ['UserOrganization', 'UserOrganizations']; |
167
|
|
|
yield ['UserPlace', 'UserPlaces']; |
168
|
|
|
yield ['UserSite', 'UserSites']; |
169
|
|
|
yield ['UserTag', 'UserTags']; |
170
|
|
|
} |
171
|
|
|
} |
172
|
|
|
|