LCOV - code coverage report
Current view: top level - src - month_picker_selection.dart (source / functions) Hit Total Coverage
Test: lcov.info Lines: 0 29 0.0 %
Date: 2022-02-12 14:49:12 Functions: 0 0 -

          Line data    Source code
       1             : import 'utils.dart';
       2             : 
       3             : /// Base class for month based pickers selection.
       4             : abstract class MonthPickerSelection {
       5             : 
       6             :   /// If this is before [dateTime].
       7             :   bool isBefore(DateTime dateTime);
       8             : 
       9             :   /// If this is after [dateTime].
      10             :   bool isAfter(DateTime dateTime);
      11             : 
      12             :   /// Returns earliest [DateTime] in this selection.
      13             :   DateTime get earliest;
      14             : 
      15             :   /// Returns latest [DateTime] in this selection.
      16             :   DateTime get latest;
      17             : 
      18             :   /// If this selection is empty.
      19             :   bool get isEmpty;
      20             : 
      21             :   /// If this selection is not empty.
      22             :   bool get isNotEmpty;
      23             : 
      24             :   /// Constructor to allow children to have constant constructor.
      25           0 :   const MonthPickerSelection();
      26             : }
      27             : 
      28             : /// Selection with only one selected month.
      29             : ///
      30             : /// See also:
      31             : /// * [MonthPickerMultiSelection] - selection with one or many single dates.
      32             : class MonthPickerSingleSelection extends MonthPickerSelection {
      33             : 
      34             :   /// Selected date.
      35             :   final DateTime selectedDate;
      36             : 
      37             :   /// Creates selection with only one selected date.
      38           0 :   const MonthPickerSingleSelection(this.selectedDate)
      39           0 :       : assert(selectedDate != null);
      40             : 
      41           0 :   @override
      42           0 :   bool isAfter(DateTime dateTime) => selectedDate.isAfter(dateTime);
      43             : 
      44           0 :   @override
      45           0 :   bool isBefore(DateTime dateTime) => selectedDate.isBefore(dateTime);
      46             : 
      47           0 :   @override
      48           0 :   DateTime get earliest => selectedDate;
      49             : 
      50           0 :   @override
      51           0 :   DateTime get latest => selectedDate;
      52             : 
      53           0 :   @override
      54           0 :   bool get isEmpty => selectedDate == null;
      55             : 
      56           0 :   @override
      57           0 :   bool get isNotEmpty => selectedDate != null;
      58             : }
      59             : 
      60             : 
      61             : /// Selection with one or many single months.
      62             : ///
      63             : /// See also:
      64             : /// * [MonthPickerSingleSelection] - selection with only one selected date.
      65             : class MonthPickerMultiSelection extends MonthPickerSelection {
      66             : 
      67             :   /// List of the selected dates.
      68             :   final List<DateTime> selectedDates;
      69             : 
      70             :   /// Selection with one or many single dates.
      71           0 :   MonthPickerMultiSelection(this.selectedDates)
      72           0 :       : assert(selectedDates != null);
      73             : 
      74             : 
      75           0 :   @override
      76             :   bool isAfter(DateTime dateTime)
      77           0 :   => selectedDates.every((d) => d.isAfter(dateTime));
      78             : 
      79           0 :   @override
      80             :   bool isBefore(DateTime dateTime)
      81           0 :   => selectedDates.every((d) => d.isBefore(dateTime));
      82             : 
      83           0 :   @override
      84           0 :   DateTime get earliest => DatePickerUtils.getEarliestFromList(selectedDates);
      85             : 
      86           0 :   @override
      87           0 :   DateTime get latest => DatePickerUtils.getLatestFromList(selectedDates);
      88             : 
      89           0 :   @override
      90           0 :   bool get isEmpty => selectedDates.isEmpty;
      91             : 
      92           0 :   @override
      93           0 :   bool get isNotEmpty => selectedDates.isNotEmpty;
      94             : }

Generated by: LCOV version 1.15