import 'package:high_scores/high_scores.dart'; import 'package:test/test.dart'; void main() { group('HighScores: high scores tests - ', highScoresTests); group('HighScores: Top 3 scores - ', top3Scores); } void highScoresTests() { test('List of scores', () { final scores = HighScores([30, 50, 20, 70]); expect(scores.scores, equals([30, 50, 20, 70])); }, skip: false); test('Latest score', () { final scores = HighScores([100, 0, 90, 30]); expect(scores.latest(), equals(30)); }, skip: false); test('Personal best', () { final scores = HighScores([40, 100, 70]); expect(scores.personalBest(), equals(100)); }, skip: false); } void top3Scores() { test('Personal top three from a list of scores', () { final scores = HighScores([10, 30, 90, 30, 100, 20, 10, 0, 30, 40, 40, 70, 70]); expect(scores.personalTopThree(), equals([100, 90, 70])); }, skip: false); test('Personal top highest to lowest', () { final scores = HighScores([20, 10, 30]); expect(scores.personalTopThree(), equals([30, 20, 10])); }, skip: false); test('Personal top when there is a tie', () { final scores = HighScores([40, 20, 40, 30]); expect(scores.personalTopThree(), equals([40, 40, 30])); }, skip: false); test('Personal top when there are less than 3', () { final scores = HighScores([30, 70]); expect(scores.personalTopThree(), equals([70, 30])); }, skip: false); test('Personal top when there is only one', () { final scores = HighScores([40]); expect(scores.personalTopThree(), equals([40])); }, skip: false); test('Latest score after personal top scores', () { final scores = HighScores([70, 50, 20, 30]); scores.personalTopThree(); expect(scores.latest(), equals(30)); }, skip: false); test('Scores after personal top scores', () { final scores = HighScores([30, 50, 20, 70]); scores.personalTopThree(); expect(scores.scores, equals([30, 50, 20, 70])); }, skip: false); test('Latest score after personal best', () { final scores = HighScores([20, 70, 15, 25, 30]); scores.personalBest(); expect(scores.latest(), equals(30)); }, skip: false); test('Scores after personal best', () { final scores = HighScores([20, 70, 15, 25, 30]); scores.personalBest(); expect(scores.scores, equals([20, 70, 15, 25, 30])); }, skip: false); }