@@ -53,7 +53,7 @@ public function testDefaultConstructor(): void
53
53
$ this ->assertNull ($ config ->getLogprobs ());
54
54
$ this ->assertNull ($ config ->getTopLogprobs ());
55
55
$ this ->assertNull ($ config ->getTools ());
56
- $ this ->assertNull ( $ config ->getCustomOptions ());
56
+ $ this ->assertEquals ([], $ config ->getCustomOptions ());
57
57
}
58
58
59
59
/**
@@ -68,63 +68,63 @@ public function testSettersAndGetters(): void
68
68
69
69
// Test output modalities
70
70
$ modalities = [ModalityEnum::text (), ModalityEnum::image ()];
71
- $ this -> assertSame ( $ config, $ config ->setOutputModalities ($ modalities) );
71
+ $ config ->setOutputModalities ($ modalities );
72
72
$ this ->assertEquals ($ modalities , $ config ->getOutputModalities ());
73
73
74
74
// Test system instruction
75
75
$ instruction = 'You are a helpful assistant. ' ;
76
- $ this -> assertSame ( $ config, $ config ->setSystemInstruction ($ instruction) );
76
+ $ config ->setSystemInstruction ($ instruction );
77
77
$ this ->assertEquals ($ instruction , $ config ->getSystemInstruction ());
78
78
79
79
// Test candidate count
80
- $ this -> assertSame ( $ config, $ config ->setCandidateCount (3 ) );
80
+ $ config ->setCandidateCount (3 );
81
81
$ this ->assertEquals (3 , $ config ->getCandidateCount ());
82
82
83
83
// Test max tokens
84
- $ this -> assertSame ( $ config, $ config ->setMaxTokens (1000 ) );
84
+ $ config ->setMaxTokens (1000 );
85
85
$ this ->assertEquals (1000 , $ config ->getMaxTokens ());
86
86
87
87
// Test temperature
88
- $ this -> assertSame ( $ config, $ config ->setTemperature (0.7 ) );
88
+ $ config ->setTemperature (0.7 );
89
89
$ this ->assertEquals (0.7 , $ config ->getTemperature ());
90
90
91
91
// Test top-p
92
- $ this -> assertSame ( $ config, $ config ->setTopP (0.9 ) );
92
+ $ config ->setTopP (0.9 );
93
93
$ this ->assertEquals (0.9 , $ config ->getTopP ());
94
94
95
95
// Test top-k
96
- $ this -> assertSame ( $ config, $ config ->setTopK (40 ) );
96
+ $ config ->setTopK (40 );
97
97
$ this ->assertEquals (40 , $ config ->getTopK ());
98
98
99
99
// Test stop sequences
100
100
$ stopSequences = ['\n\n ' , 'END ' ];
101
- $ this -> assertSame ( $ config, $ config ->setStopSequences ($ stopSequences) );
101
+ $ config ->setStopSequences ($ stopSequences );
102
102
$ this ->assertEquals ($ stopSequences , $ config ->getStopSequences ());
103
103
104
104
// Test presence penalty
105
- $ this -> assertSame ( $ config, $ config ->setPresencePenalty (0.5 ) );
105
+ $ config ->setPresencePenalty (0.5 );
106
106
$ this ->assertEquals (0.5 , $ config ->getPresencePenalty ());
107
107
108
108
// Test frequency penalty
109
- $ this -> assertSame ( $ config, $ config ->setFrequencyPenalty (0.3 ) );
109
+ $ config ->setFrequencyPenalty (0.3 );
110
110
$ this ->assertEquals (0.3 , $ config ->getFrequencyPenalty ());
111
111
112
112
// Test logprobs
113
- $ this -> assertSame ( $ config, $ config ->setLogprobs (true ) );
113
+ $ config ->setLogprobs (true );
114
114
$ this ->assertTrue ($ config ->getLogprobs ());
115
115
116
116
// Test top logprobs
117
- $ this -> assertSame ( $ config, $ config ->setTopLogprobs (5 ) );
117
+ $ config ->setTopLogprobs (5 );
118
118
$ this ->assertEquals (5 , $ config ->getTopLogprobs ());
119
119
120
120
// Test tools
121
121
$ tools = [$ tool ];
122
- $ this -> assertSame ( $ config, $ config ->setTools ($ tools) );
122
+ $ config ->setTools ($ tools );
123
123
$ this ->assertEquals ($ tools , $ config ->getTools ());
124
124
125
125
// Test custom options
126
126
$ customOptions = ['custom_param ' => 'value ' , 'another_param ' => 123 ];
127
- $ this -> assertSame ( $ config, $ config ->setCustomOptions ($ customOptions) );
127
+ $ config ->setCustomOptions ($ customOptions );
128
128
$ this ->assertEquals ($ customOptions , $ config ->getCustomOptions ());
129
129
}
130
130
@@ -179,20 +179,20 @@ public function testToArrayAllProperties(): void
179
179
$ config = new ModelConfig ();
180
180
$ tool = $ this ->createSampleTool ();
181
181
182
- $ config ->setOutputModalities ([ModalityEnum::text (), ModalityEnum::audio ()])
183
- ->setSystemInstruction ('Test instruction ' )
184
- ->setCandidateCount (2 )
185
- ->setMaxTokens (500 )
186
- ->setTemperature (1.2 )
187
- ->setTopP (0.8 )
188
- ->setTopK (30 )
189
- ->setStopSequences (['STOP ' , 'END ' ])
190
- ->setPresencePenalty (0.6 )
191
- ->setFrequencyPenalty (0.4 )
192
- ->setLogprobs (true )
193
- ->setTopLogprobs (10 )
194
- ->setTools ([$ tool ])
195
- ->setCustomOptions (['key ' => 'value ' ]);
182
+ $ config ->setOutputModalities ([ModalityEnum::text (), ModalityEnum::audio ()]);
183
+ $ config ->setSystemInstruction ('Test instruction ' );
184
+ $ config ->setCandidateCount (2 );
185
+ $ config ->setMaxTokens (500 );
186
+ $ config ->setTemperature (1.2 );
187
+ $ config ->setTopP (0.8 );
188
+ $ config ->setTopK (30 );
189
+ $ config ->setStopSequences (['STOP ' , 'END ' ]);
190
+ $ config ->setPresencePenalty (0.6 );
191
+ $ config ->setFrequencyPenalty (0.4 );
192
+ $ config ->setLogprobs (true );
193
+ $ config ->setTopLogprobs (10 );
194
+ $ config ->setTools ([$ tool ]);
195
+ $ config ->setCustomOptions (['key ' => 'value ' ]);
196
196
197
197
$ array = $ config ->toArray ();
198
198
@@ -224,7 +224,9 @@ public function testToArrayNoProperties(): void
224
224
$ array = $ config ->toArray ();
225
225
226
226
$ this ->assertIsArray ($ array );
227
- $ this ->assertEmpty ($ array );
227
+ $ this ->assertCount (1 , $ array );
228
+ $ this ->assertArrayHasKey ('customOptions ' , $ array );
229
+ $ this ->assertEquals ([], $ array ['customOptions ' ]);
228
230
}
229
231
230
232
/**
@@ -235,15 +237,16 @@ public function testToArrayNoProperties(): void
235
237
public function testToArrayPartialProperties (): void
236
238
{
237
239
$ config = new ModelConfig ();
238
- $ config ->setTemperature (0.5 )
239
- ->setMaxTokens (100 );
240
+ $ config ->setTemperature (0.5 );
241
+ $ config ->setMaxTokens (100 );
240
242
241
243
$ array = $ config ->toArray ();
242
244
243
245
$ this ->assertIsArray ($ array );
244
- $ this ->assertCount (2 , $ array );
246
+ $ this ->assertCount (3 , $ array );
245
247
$ this ->assertEquals (0.5 , $ array ['temperature ' ]);
246
248
$ this ->assertEquals (100 , $ array ['maxTokens ' ]);
249
+ $ this ->assertEquals ([], $ array ['customOptions ' ]);
247
250
$ this ->assertArrayNotHasKey ('systemInstruction ' , $ array );
248
251
$ this ->assertArrayNotHasKey ('topP ' , $ array );
249
252
}
@@ -327,12 +330,12 @@ public function testFromArrayEmpty(): void
327
330
public function testArrayRoundTrip (): void
328
331
{
329
332
$ original = new ModelConfig ();
330
- $ original ->setSystemInstruction ('Round trip test ' )
331
- ->setTemperature (0.75 )
332
- ->setMaxTokens (1500 )
333
- ->setStopSequences (['END ' , 'STOP ' ])
334
- ->setLogprobs (true )
335
- ->setCustomOptions (['test ' => 'value ' ]);
333
+ $ original ->setSystemInstruction ('Round trip test ' );
334
+ $ original ->setTemperature (0.75 );
335
+ $ original ->setMaxTokens (1500 );
336
+ $ original ->setStopSequences (['END ' , 'STOP ' ]);
337
+ $ original ->setLogprobs (true );
338
+ $ original ->setCustomOptions (['test ' => 'value ' ]);
336
339
337
340
$ array = $ original ->toArray ();
338
341
$ restored = ModelConfig::fromArray ($ array );
@@ -353,9 +356,9 @@ public function testArrayRoundTrip(): void
353
356
public function testJsonSerialize (): void
354
357
{
355
358
$ config = new ModelConfig ();
356
- $ config ->setTemperature (0.8 )
357
- ->setMaxTokens (1000 )
358
- ->setSystemInstruction ('JSON test ' );
359
+ $ config ->setTemperature (0.8 );
360
+ $ config ->setMaxTokens (1000 );
361
+ $ config ->setSystemInstruction ('JSON test ' );
359
362
360
363
$ json = json_encode ($ config );
361
364
$ decoded = json_decode ($ json , true );
@@ -377,27 +380,27 @@ public function testExtremeValues(): void
377
380
$ config = new ModelConfig ();
378
381
379
382
// Test minimum values
380
- $ config ->setTemperature (0.0 )
381
- ->setTopP (0.0 )
382
- ->setTopK (1 )
383
- ->setCandidateCount (1 )
384
- ->setMaxTokens (1 )
385
- ->setPresencePenalty (-2.0 )
386
- ->setFrequencyPenalty (-2.0 );
383
+ $ config ->setTemperature (0.0 );
384
+ $ config ->setTopP (0.0 );
385
+ $ config ->setTopK (1 );
386
+ $ config ->setCandidateCount (1 );
387
+ $ config ->setMaxTokens (1 );
388
+ $ config ->setPresencePenalty (-2.0 );
389
+ $ config ->setFrequencyPenalty (-2.0 );
387
390
388
391
$ array = $ config ->toArray ();
389
392
$ this ->assertEquals (0.0 , $ array ['temperature ' ]);
390
393
$ this ->assertEquals (0.0 , $ array ['topP ' ]);
391
394
$ this ->assertEquals (1 , $ array ['topK ' ]);
392
395
393
396
// Test maximum values
394
- $ config ->setTemperature (2.0 )
395
- ->setTopP (1.0 )
396
- ->setTopK (999999 )
397
- ->setCandidateCount (100 )
398
- ->setMaxTokens (999999 )
399
- ->setPresencePenalty (2.0 )
400
- ->setFrequencyPenalty (2.0 );
397
+ $ config ->setTemperature (2.0 );
398
+ $ config ->setTopP (1.0 );
399
+ $ config ->setTopK (999999 );
400
+ $ config ->setCandidateCount (100 );
401
+ $ config ->setMaxTokens (999999 );
402
+ $ config ->setPresencePenalty (2.0 );
403
+ $ config ->setFrequencyPenalty (2.0 );
401
404
402
405
$ array = $ config ->toArray ();
403
406
$ this ->assertEquals (2.0 , $ array ['temperature ' ]);
@@ -406,26 +409,27 @@ public function testExtremeValues(): void
406
409
}
407
410
408
411
/**
409
- * Tests fluent interface method chaining .
412
+ * Tests that setters properly set values .
410
413
*
411
414
* @return void
412
415
*/
413
- public function testFluentInterface (): void
416
+ public function testSettersProperlySetValues (): void
414
417
{
415
418
$ config = new ModelConfig ();
416
419
417
- $ result = $ config
418
- ->setSystemInstruction ('test ' )
419
- ->setTemperature (0.5 )
420
- ->setMaxTokens (100 )
421
- ->setTopP (0.9 )
422
- ->setTopK (40 )
423
- ->setLogprobs (true );
420
+ $ config ->setSystemInstruction ('test ' );
421
+ $ config ->setTemperature (0.5 );
422
+ $ config ->setMaxTokens (100 );
423
+ $ config ->setTopP (0.9 );
424
+ $ config ->setTopK (40 );
425
+ $ config ->setLogprobs (true );
424
426
425
- $ this ->assertSame ($ config , $ result );
426
427
$ this ->assertEquals ('test ' , $ config ->getSystemInstruction ());
427
428
$ this ->assertEquals (0.5 , $ config ->getTemperature ());
428
429
$ this ->assertEquals (100 , $ config ->getMaxTokens ());
430
+ $ this ->assertEquals (0.9 , $ config ->getTopP ());
431
+ $ this ->assertEquals (40 , $ config ->getTopK ());
432
+ $ this ->assertTrue ($ config ->getLogprobs ());
429
433
}
430
434
431
435
/**
@@ -478,4 +482,3 @@ public function testImplementsCorrectInterfaces(): void
478
482
);
479
483
}
480
484
}
481
-
0 commit comments