You cannot select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
63 lines
1.8 KiB
Dart
63 lines
1.8 KiB
Dart
import 'package:aoc2020/aoc20201205.dart';
|
|
import 'package:aoc2020/aoc20201204.dart';
|
|
import 'package:aoc2020/aoc20201203.dart';
|
|
import 'package:aoc2020/aoc20201202.dart';
|
|
import 'package:aoc2020/aoc20201201.dart';
|
|
import 'package:aoc2020/aoc20201206.dart';
|
|
import 'package:aoc2020/aoc20201207.dart';
|
|
import 'package:aoc2020/aoc20201208.dart';
|
|
import 'package:aoc2020/aocbase.dart';
|
|
import 'dart:mirrors';
|
|
|
|
class aoc2020 {
|
|
final String dayParam;
|
|
final String subdayParam;
|
|
|
|
aoc2020({this.dayParam, this.subdayParam});
|
|
|
|
static List<AOCBase> aocDays = [
|
|
AOC20201201(),
|
|
AOC20201202(),
|
|
AOC20201203(),
|
|
AOC20201204(),
|
|
AOC20201205(),
|
|
AOC20201206(),
|
|
AOC20201207(),
|
|
AOC20201208(),
|
|
];
|
|
|
|
static void list() async {
|
|
print('Days available:');
|
|
for (var index = 0; index < aocDays.length; index++) {
|
|
var aocReflect = reflect(aocDays[index]);
|
|
var classString = aocReflect.toString().split("'")[1];
|
|
print('${index + 1} : ${classString ?? 'null'}');
|
|
}
|
|
}
|
|
|
|
static void runAt({AOCBase single, bool testOnly}) async {
|
|
var aocReflect = reflect(single);
|
|
var classString = aocReflect.toString().split("'")[1];
|
|
await single.a(test: true);
|
|
await single.b(test: true);
|
|
print('$classString A Test : ${single.answerA ?? 'null'}');
|
|
print('$classString B Test : ${single.answerB ?? 'null'}');
|
|
if (!testOnly) {
|
|
await single.a();
|
|
await single.b();
|
|
print('$classString A : ${single.answerA ?? 'null'}');
|
|
print('$classString B : ${single.answerB ?? 'null'}');
|
|
}
|
|
}
|
|
|
|
static void runLast({bool testOnly}) async {
|
|
runAt(single: aocDays.last, testOnly: testOnly);
|
|
}
|
|
|
|
static void runAll({bool testOnly}) async {
|
|
for (var single in aocDays) {
|
|
runAt(single: single, testOnly: testOnly);
|
|
}
|
|
}
|
|
}
|