public void DefaultValue_ShouldReturnOptionSetup()
        {
            var commandParser = A.Fake <CommandParser <DataTypesCommandOptions> >();

            var targetProperty = typeof(DataTypesCommandOptions).GetProperty("Guids");
            var optionParser   = A.Fake <GuidListOptionParser>(ob => ob.WithArgumentsForConstructor(() => new GuidListOptionParser(targetProperty, "guids")));

            var setup = new GuidListOptionSetup <DataTypesCommandOptions>(commandParser, optionParser);

            setup.DefaultValue(new List <Guid>()).Should().Be(setup);
        }
        public void DefaultValue_ShouldAssignDefaultValueToOptionParser()
        {
            var commandParser = A.Fake <CommandParser <DataTypesCommandOptions> >();

            var targetProperty = typeof(DataTypesCommandOptions).GetProperty("Guids");
            var optionParser   = A.Fake <GuidListOptionParser>(ob => ob.WithArgumentsForConstructor(() => new GuidListOptionParser(targetProperty, "guids")));

            var setup = new GuidListOptionSetup <DataTypesCommandOptions>(commandParser, optionParser);

            var defaultValue = new List <Guid>();

            setup.DefaultValue(defaultValue);

            A.CallToSet(() => optionParser.OptionDefaultValue).To(defaultValue).MustHaveHappened();
        }