63 lines
2.5 KiB
Dart
63 lines
2.5 KiB
Dart
|
import 'package:flutter/material.dart';
|
||
|
import 'package:flutter_test/flutter_test.dart';
|
||
|
import 'lib/main.dart';
|
||
|
|
||
|
void main() {
|
||
|
group('Kalorienverbrauch Rechner Tests', () {
|
||
|
test('berechneKalorienverbrauch gibt den richtigen Wert für langsames Laufen zurück', () {
|
||
|
final _MyHomePageState homePageState = _MyHomePageState();
|
||
|
double result = homePageState._berechneKalorienverbrauch(9.0, 60.0, 65.0);
|
||
|
expect(result, closeTo(520.0, 1.0));
|
||
|
});
|
||
|
|
||
|
test('berechneKalorienverbrauch gibt den richtigen Wert für zügiges Laufen zurück', () {
|
||
|
final _MyHomePageState homePageState = _MyHomePageState();
|
||
|
double result = homePageState._berechneKalorienverbrauch(12.0, 60.0, 65.0);
|
||
|
expect(result, closeTo(650.0, 1.0));
|
||
|
});
|
||
|
|
||
|
test('berechneKalorienverbrauch gibt den richtigen Wert für schnelles Laufen zurück', () {
|
||
|
final _MyHomePageState homePageState = _MyHomePageState();
|
||
|
double result = homePageState._berechneKalorienverbrauch(15.0, 60.0, 65.0);
|
||
|
expect(result, closeTo(780.0, 1.0));
|
||
|
});
|
||
|
|
||
|
test('berechneKalorienverbrauch gibt 0 für ungültige Geschwindigkeit zurück', () {
|
||
|
final _MyHomePageState homePageState = _MyHomePageState();
|
||
|
double result = homePageState._berechneKalorienverbrauch(5.0, 60.0, 65.0);
|
||
|
expect(result, 0.0);
|
||
|
});
|
||
|
});
|
||
|
|
||
|
testWidgets('Kalorienverbrauch Rechner UI-Test', (WidgetTester tester) async {
|
||
|
await tester.pumpWidget(MyApp());
|
||
|
|
||
|
expect(find.text('Kalorienverbrauch Rechner'), findsOneWidget);
|
||
|
expect(find.byType(TextField), findsNWidgets(3));
|
||
|
expect(find.byType(ElevatedButton), findsOneWidget);
|
||
|
|
||
|
await tester.enterText(find.byType(TextField).at(0), '65');
|
||
|
await tester.enterText(find.byType(TextField).at(1), '9');
|
||
|
await tester.enterText(find.byType(TextField).at(2), '60');
|
||
|
|
||
|
await tester.tap(find.byType(ElevatedButton));
|
||
|
await tester.pump();
|
||
|
|
||
|
expect(find.text('Geschwindigkeit pro Kilometer: 6.67 Minuten'), findsOneWidget);
|
||
|
expect(find.text('Kalorienverbrauch: 520.00 kcal'), findsOneWidget);
|
||
|
});
|
||
|
|
||
|
testWidgets('Ungültige Eingabe zeigt Fehlermeldung an', (WidgetTester tester) async {
|
||
|
await tester.pumpWidget(MyApp());
|
||
|
|
||
|
await tester.enterText(find.byType(TextField).at(0), '65');
|
||
|
await tester.enterText(find.byType(TextField).at(1), '5');
|
||
|
await tester.enterText(find.byType(TextField).at(2), '60');
|
||
|
|
||
|
await tester.tap(find.byType(ElevatedButton));
|
||
|
await tester.pump();
|
||
|
|
||
|
expect(find.text('Ungültige Angaben'), findsOneWidget);
|
||
|
});
|
||
|
}
|