alt/apps/client/test/contracts/alt_contracts_test.dart
toki 9efc0a68dc feat: backtest analysis surface implementation
- Add backtest analysis results migration (000002)
- Update backtest proto definitions and generated code
- Extend backtest domain types and engine
- Add parser map for backtest analysis
- Update storage layer with backtest analysis queries and keys
- Add client contract tests and generated code
- Add m-backtest-analysis-surface task documentation
2026-05-30 14:43:40 +09:00

49 lines
1.7 KiB
Dart

import 'package:flutter_test/flutter_test.dart';
import 'package:alt_client/src/contracts/alt_contracts.dart';
import 'package:alt_client/src/generated/alt/v1/common.pb.dart';
import 'package:alt_client/src/generated/alt/v1/market.pb.dart';
import 'package:alt_client/src/generated/alt/v1/backtest.pb.dart';
void main() {
group('ALT contracts parser map helper tests', () {
test('altParserMap contains all expected parsers and passes round-trip parsing', () {
final parsers = altParserMap();
final expectedMessages = [
HelloRequest(),
HelloResponse(),
ListInstrumentsRequest(),
ListInstrumentsResponse(),
ListBarsRequest(),
ListBarsResponse(),
StartBacktestRequest(),
StartBacktestResponse(),
GetBacktestRunRequest(),
GetBacktestRunResponse(),
GetBacktestResultRequest(),
GetBacktestResultResponse(),
BacktestResult(),
ListBacktestRunsRequest(),
ListBacktestRunsResponse(),
GetBacktestRunDetailRequest(),
GetBacktestRunDetailResponse(),
CompareBacktestRunsRequest(),
CompareBacktestRunsResponse(),
];
expect(parsers.length, equals(19));
for (final msg in expectedMessages) {
final qualifiedName = msg.info_.qualifiedMessageName;
expect(parsers.containsKey(qualifiedName), isTrue, reason: 'Map should contain parser for $qualifiedName');
final parser = parsers[qualifiedName]!;
final serialized = msg.writeToBuffer();
final parsed = parser(serialized);
expect(parsed.info_.qualifiedMessageName, equals(qualifiedName));
expect(parsed.writeToBuffer(), equals(serialized));
}
});
});
}