public void With_AllParsedOptions()
            {
                // Arrange
                const bool isCountAllVisitsNeeded = true;
                const bool isPlayMode             = true;
                const bool isVerboseMode          = true;
                const bool isKeepRunningAfterStoryFinishedNeeded = true;
                var        pluginNames   = new List <string>();
                var        parsedOptions = new ParsedCommandLineOptions()
                {
                    IsCountAllVisitsNeeded           = isCountAllVisitsNeeded,
                    IsPlayMode                       = isPlayMode,
                    IsVerboseMode                    = isVerboseMode,
                    IsKeepOpenAfterStoryFinishNeeded = isKeepRunningAfterStoryFinishedNeeded,
                    PluginNames                      = pluginNames,
                };
                var processedOptions = new CommandLineToolOptions();
                var tool             = new CommandLineTool();

                // Act
                tool.ProcesFlags(parsedOptions, processedOptions);

                // Assert
                parsedOptions.Should().NotBeNull("because the parsed options object was given");
                processedOptions.Should().NotBeNull("because the processed options object was given");

                processedOptions.IsCountAllVisitsNeeded.Should().Be(isCountAllVisitsNeeded, "because it was given");
                processedOptions.IsPlayMode.Should().Be(isPlayMode, "because it was given");
                processedOptions.IsVerboseMode.Should().Be(isVerboseMode, "because it was given");
                processedOptions.IsKeepRunningAfterStoryFinishedNeeded.Should().Be(isKeepRunningAfterStoryFinishedNeeded, "because it was given");
                processedOptions.PluginNames.Should().BeEquivalentTo(pluginNames, "because it was given");
            }
            public void WithoutArguments()
            {
                // Arrange
                var tool = new CommandLineTool();

                // Act
                tool.ProcesFlags(null, null);

                // Assert
                // Without arguments the function should process nothing.
            }