feat: add domain models for test configuration and results

This commit is contained in:
2026-08-24 06:41:47 +09:00
parent 5a7c36a798
commit ef194af782
4 changed files with 92 additions and 0 deletions
@@ -0,0 +1,15 @@
import 'package:flutter_test/flutter_test.dart';
import 'package:iperf3gui/domain/models/iperf3_result.dart';
void main() {
group('Iperf3Result', () {
test('can be instantiated with raw output', () {
const result = Iperf3Result(
rawOutput: 'Test complete',
exitCode: 0,
);
expect(result.rawOutput, equals('Test complete'));
expect(result.exitCode, equals(0));
});
});
}
@@ -0,0 +1,30 @@
import 'package:flutter_test/flutter_test.dart';
import 'package:iperf3gui/domain/models/test_configuration.dart';
void main() {
group('TestConfiguration', () {
test('defaults produce a valid configuration', () {
const config = TestConfiguration();
expect(config.isValid, isTrue);
});
test('empty server is invalid', () {
const config = TestConfiguration(server: '');
expect(config.isValid, isFalse);
});
test('port out of range is invalid', () {
expect(const TestConfiguration(port: 0).isValid, isFalse);
expect(const TestConfiguration(port: 65536).isValid, isFalse);
});
test('CLI args contain server and port', () {
const config = TestConfiguration(server: '192.168.1.1', port: 1234);
final args = config.toCliArgs();
expect(args, contains('-c'));
expect(args, contains('192.168.1.1'));
expect(args, contains('-p'));
expect(args, contains('1234'));
});
});
}