36 lines
1.3 KiB
Dart
36 lines
1.3 KiB
Dart
|
|
import 'package:flutter_test/flutter_test.dart';
|
||
|
|
import 'package:halkyon_app/halkyon_app.dart';
|
||
|
|
|
||
|
|
/// An assistant's model by its own name, where its provider shows beside
|
||
|
|
/// it (Halkyon Learn's ADR 0021, D69).
|
||
|
|
void main() {
|
||
|
|
group("Anthropic's models", () {
|
||
|
|
const anthropic = AssistantProvider.anthropic;
|
||
|
|
|
||
|
|
test('go without the family they share', () {
|
||
|
|
expect(anthropic.modelName('Claude Haiku 4.5'), 'Haiku 4.5');
|
||
|
|
expect(anthropic.modelName('Claude Opus 4.1'), 'Opus 4.1');
|
||
|
|
expect(anthropic.modelName('claude Sonnet 4'), 'Sonnet 4');
|
||
|
|
});
|
||
|
|
|
||
|
|
test('keep a name not led by it, or nothing besides it', () {
|
||
|
|
expect(anthropic.modelName('Claude'), 'Claude');
|
||
|
|
expect(anthropic.modelName('Claudette'), 'Claudette');
|
||
|
|
expect(anthropic.modelName('Our tutor'), 'Our tutor');
|
||
|
|
});
|
||
|
|
});
|
||
|
|
|
||
|
|
test("OpenAI's and every other provider's stay as they are", () {
|
||
|
|
expect(AssistantProvider.openai.modelName('GPT-5'), 'GPT-5');
|
||
|
|
expect(AssistantProvider.openai.modelName('GPT-5 mini'), 'GPT-5 mini');
|
||
|
|
expect(
|
||
|
|
AssistantProvider.google.modelName('Gemini 2.5 Pro'),
|
||
|
|
'Gemini 2.5 Pro',
|
||
|
|
);
|
||
|
|
expect(
|
||
|
|
AssistantProvider.of('llm.example.org').modelName('Claude Haiku 4.5'),
|
||
|
|
'Claude Haiku 4.5',
|
||
|
|
reason: 'a proxy names its models as it likes',
|
||
|
|
);
|
||
|
|
});
|
||
|
|
}
|