61 lines
1.6 KiB
Dart
61 lines
1.6 KiB
Dart
import 'package:flutter/material.dart';
|
|
import 'package:flutter_test/flutter_test.dart';
|
|
import 'package:motorcycle_dash/features/dashboard/widgets/g_force_visualizer.dart';
|
|
import 'package:motorcycle_dash/features/dashboard/widgets/lean_visualizer.dart';
|
|
import 'package:motorcycle_dash/features/rides/ride_state_machine.dart';
|
|
|
|
void main() {
|
|
testWidgets('GForceVisualizer renders correctly', (WidgetTester tester) async {
|
|
final session = RideSession(
|
|
state: RideState.riding,
|
|
startTime: DateTime.now(),
|
|
maxAccelG: 1.2,
|
|
maxBrakingG: 0.8,
|
|
maxLeanLeft: 45,
|
|
maxLeanRight: 40,
|
|
);
|
|
|
|
await tester.pumpWidget(
|
|
MaterialApp(
|
|
home: Scaffold(
|
|
body: GForceVisualizer(
|
|
accelG: 0.5,
|
|
lateralG: 0.5,
|
|
session: session,
|
|
),
|
|
),
|
|
),
|
|
);
|
|
|
|
expect(find.text('G-FORCE'), findsOneWidget);
|
|
expect(find.text('ACC: 1.20'), findsOneWidget);
|
|
expect(find.text('BRK: 0.80'), findsOneWidget);
|
|
});
|
|
|
|
testWidgets('LeanVisualizer renders correctly', (WidgetTester tester) async {
|
|
final session = RideSession(
|
|
state: RideState.riding,
|
|
startTime: DateTime.now(),
|
|
maxAccelG: 1.2,
|
|
maxBrakingG: 0.8,
|
|
maxLeanLeft: 45,
|
|
maxLeanRight: 40,
|
|
);
|
|
|
|
await tester.pumpWidget(
|
|
MaterialApp(
|
|
home: Scaffold(
|
|
body: LeanVisualizer(
|
|
lean: -30,
|
|
session: session,
|
|
),
|
|
),
|
|
),
|
|
);
|
|
|
|
expect(find.text('LEAN ANGLE'), findsOneWidget);
|
|
expect(find.text('30°'), findsOneWidget);
|
|
expect(find.text('LEFT'), findsOneWidget);
|
|
});
|
|
}
|