diff --git a/assets/data_test.csv b/assets/data_test.csv index c9eab87..6bdeb41 100644 --- a/assets/data_test.csv +++ b/assets/data_test.csv @@ -1,3 +1,3 @@ -10;13;14;25;1;35;5;15/04/2024 -1;16;10;6;39;37;2;18/04/2024 1;6;25;10;33;39;2;22/04/2024 +1;16;10;6;39;37;2;18/04/2024 +10;13;14;25;1;35;5;15/04/2024 \ No newline at end of file diff --git a/example/assets/preview.png b/example/assets/preview.png index 53681b6..ef181d1 100644 Binary files a/example/assets/preview.png and b/example/assets/preview.png differ diff --git a/example/pubspec.lock b/example/pubspec.lock index 1fed793..9995a26 100644 --- a/example/pubspec.lock +++ b/example/pubspec.lock @@ -137,7 +137,7 @@ packages: path: ".." relative: true source: path - version: "0.0.16" + version: "0.0.17" matcher: dependency: transitive description: diff --git a/lib/lottery.dart b/lib/lottery.dart index 5d7d157..6caaa50 100644 --- a/lib/lottery.dart +++ b/lib/lottery.dart @@ -156,4 +156,13 @@ class Lottery { void dispose() { _instance = null; } + + /// Function to get the length of [gridsFromCsv]. + int getNumberOfGrids() => gridsFromCsv.length; + + /// Function to get when the more recent grid has been drawn. + String? lastGridDrawnAt() => gridsFromCsv.firstOrNull?.drawnAt; + + /// Function to get when the first grid (chronologically) has been drawn + String? firstGridDrawnAt() => gridsFromCsv.lastOrNull?.drawnAt; } diff --git a/lib/src/view/widgets/lottery_statistics.dart b/lib/src/view/widgets/lottery_statistics.dart index bc145a5..679709e 100644 --- a/lib/src/view/widgets/lottery_statistics.dart +++ b/lib/src/view/widgets/lottery_statistics.dart @@ -26,19 +26,19 @@ class LotteryStatistics extends StatelessWidget { _StatisticItem( title: 'Grids from data', cardColor: cardColor, - content: Lottery().gridsFromCsv.length.toString(), + content: Lottery().getNumberOfGrids().toString(), ), const SizedBox(height: 16), _StatisticItem( title: 'Last grid drawn', cardColor: cardColor, - content: Lottery().gridsFromCsv.firstOrNull?.drawnAt ?? '?', + content: Lottery().lastGridDrawnAt() ?? '?', ), const SizedBox(height: 16), _StatisticItem( title: 'First grid drawn', cardColor: cardColor, - content: Lottery().gridsFromCsv.lastOrNull?.drawnAt ?? '?', + content: Lottery().firstGridDrawnAt() ?? '?', ), ], ), diff --git a/pubspec.yaml b/pubspec.yaml index 8269e29..1ec3439 100644 --- a/pubspec.yaml +++ b/pubspec.yaml @@ -1,6 +1,6 @@ name: lottery description: "A new Flutter project." -version: 0.0.16 +version: 0.0.17 environment: sdk: '>=3.3.3 <4.0.0' diff --git a/test/lottery_test.dart b/test/lottery_test.dart index da14c43..5da5909 100644 --- a/test/lottery_test.dart +++ b/test/lottery_test.dart @@ -45,9 +45,9 @@ void main() { test('Test initialize drawnAt for each grid', () async { await _initializeLottery(); - expect(Lottery().gridsFromCsv[0].drawnAt, '15/04/2024'); + expect(Lottery().gridsFromCsv[0].drawnAt, '22/04/2024'); expect(Lottery().gridsFromCsv[1].drawnAt, '18/04/2024'); - expect(Lottery().gridsFromCsv[2].drawnAt, '22/04/2024'); + expect(Lottery().gridsFromCsv[2].drawnAt, '15/04/2024'); }); }); @@ -68,7 +68,7 @@ void main() { specialNumbers: {1, 35, 5}, ); expect( - Lottery().wasWinningGrid(gridModel) == Lottery().gridsFromCsv.first, + Lottery().wasWinningGrid(gridModel) == Lottery().gridsFromCsv.last, true, ); }); @@ -82,4 +82,19 @@ void main() { expect(Lottery().wasWinningGrid(gridModel), null); }); }); + + test('Test getNumberOfGrids', () async { + await _initializeLottery(); + expect(Lottery().getNumberOfGrids(), 3); + }); + + test('Test lastGridDrawnAt', () async { + await _initializeLottery(); + expect(Lottery().lastGridDrawnAt(), '22/04/2024'); + }); + + test('Test firstGridDrawnAt', () async { + await _initializeLottery(); + expect(Lottery().firstGridDrawnAt(), '15/04/2024'); + }); }