First cut of creation of a modular RpgGameTool from RpgDiceRoller. And of proper analytics, not that stupid test project.
Split DiceRoller main project into RpgGameToolMain and RpgDiceRollerModule.
Minor cleaning, addition of a 'strategy' project to allow introduction of another module.
Addition of a single, though usually considered vile Configurator to select modules and rulesets from code. SRP - things like that are in Configurator, not ApplicationRunner.
Addition of a SystemsAnalyticsModule both as a project (doing nothing at this stage) and to a Configurator, commented out.
DDD: not every module requires a form. This will, additionally, make it easier to remove Windows Forms if I ever get less lazy.
How horrible it is (or is not), the hack unit test solution became a fully-fledged module. With no refactoring atm. And married to the most specific mechanics possible. Oh, joy ;-).
Creation of a skeleton structure; shall be changed many times before I finish.
Analytics doesn't work. Checkpoint: most of analytics work up to ResultantData creation.
Analytics module works. Code is horrible, system is still dependent on the particular mechanics, but it works now and is up to refactoring task. All the layers (Infra, DL, AL, Presentation) are in the complete mess.
Small, minor corrections not done earlier by omission.
TextDataWriter made _slightly_ more object-oriented by giving ResultantData a role.
SRP: Split NumbersManager into NumbersManager and IterationManager.
Strongly showed in name of getters what 'service' is mutable and which is not.
Switched to DiceRoller in configuration as default. Merge to master incoming - this code still needs splitting and refactoring, but it is merge-viable already.
Merge branches 'analyticsAddition' and 'master'