Skip to content

Commit

Permalink
isWorkday and isWeekday #65
Browse files Browse the repository at this point in the history
  • Loading branch information
jogboms authored Aug 23, 2022
2 parents e35471f + 88606bb commit be716d9
Show file tree
Hide file tree
Showing 2 changed files with 64 additions and 0 deletions.
4 changes: 4 additions & 0 deletions lib/src/extensions.dart
Original file line number Diff line number Diff line change
Expand Up @@ -259,6 +259,10 @@ extension DateTimeTimeExtension on DateTime {
}
return this;
}

bool get isWeekend => (weekday == DateTime.saturday) || (weekday == DateTime.sunday);

bool get isWorkday => !isWeekend;
}

extension DurationTimeExtension on Duration {
Expand Down
60 changes: 60 additions & 0 deletions test/time_test.dart
Original file line number Diff line number Diff line change
Expand Up @@ -656,6 +656,66 @@ void main() {
expect(it.clamp(min: min, max: max), min);
});
});
group('Weekend', () {
test('monday is not weekend', () {
final it = DateTime(2022, DateTime.august, 1);
expect(it.isWeekend, isFalse);
});
test('tuesday is not weekend', () {
final it = DateTime(2022, DateTime.august, 2);
expect(it.isWeekend, isFalse);
});
test('wednesday is not weekend', () {
final it = DateTime(2022, DateTime.august, 3);
expect(it.isWeekend, isFalse);
});
test('thursday is not weekend', () {
final it = DateTime(2022, DateTime.august, 4);
expect(it.isWeekend, isFalse);
});
test('friday is not weekend', () {
final it = DateTime(2022, DateTime.august, 5);
expect(it.isWeekend, isFalse);
});
test('saturday is weekend', () {
final it = DateTime(2022, DateTime.august, 6);
expect(it.isWeekend, isTrue);
});
test('sunday is weekend', () {
final it = DateTime(2022, DateTime.august, 7);
expect(it.isWeekend, isTrue);
});
});
group('Workday', () {
test('monday is workday', () {
final it = DateTime(2022, DateTime.august, 1);
expect(it.isWorkday, isTrue);
});
test('tuesday is workday', () {
final it = DateTime(2022, DateTime.august, 2);
expect(it.isWorkday, isTrue);
});
test('wednesday is workday', () {
final it = DateTime(2022, DateTime.august, 3);
expect(it.isWorkday, isTrue);
});
test('thursday is workday', () {
final it = DateTime(2022, DateTime.august, 4);
expect(it.isWorkday, isTrue);
});
test('friday is workday', () {
final it = DateTime(2022, DateTime.august, 5);
expect(it.isWorkday, isTrue);
});
test('saturday is not workday', () {
final it = DateTime(2022, DateTime.august, 6);
expect(it.isWorkday, isFalse);
});
test('sunday is not workday', () {
final it = DateTime(2022, DateTime.august, 7);
expect(it.isWorkday, isFalse);
});
});
});

group('Duration', () {
Expand Down

0 comments on commit be716d9

Please sign in to comment.