public void Format_ShouldReturnOptionSetup() { var commandParser = A.Fake <CommandParser <DataTypesCommandOptions> >(); var targetProperty = typeof(DataTypesCommandOptions).GetProperty("TimeSpan"); var optionParser = A.Fake <TimeSpanOptionParser>(ob => ob.WithArgumentsForConstructor(() => new TimeSpanOptionParser(targetProperty, "timeSpan"))); var setup = new TimeSpanOptionSetup <DataTypesCommandOptions>(commandParser, optionParser); setup.Format(@"hh\:mm").Should().Be(setup); }
public void Format_ShouldAssignFormatToOptionParser() { var commandParser = A.Fake <CommandParser <DataTypesCommandOptions> >(); var targetProperty = typeof(DataTypesCommandOptions).GetProperty("TimeSpan"); var optionParser = A.Fake <TimeSpanOptionParser>(ob => ob.WithArgumentsForConstructor(() => new TimeSpanOptionParser(targetProperty, "timeSpan"))); var setup = new TimeSpanOptionSetup <DataTypesCommandOptions>(commandParser, optionParser); setup.Format(@"hh\:mm"); A.CallToSet(() => optionParser.TimeSpanFormat).To(@"hh\:mm").MustHaveHappened(); }
public void Styles_ShouldAssignStylesToOptionParser() { var commandParser = A.Fake <CommandParser <DataTypesCommandOptions> >(); var targetProperty = typeof(DataTypesCommandOptions).GetProperty("TimeSpan"); var optionParser = A.Fake <TimeSpanOptionParser>(ob => ob.WithArgumentsForConstructor(() => new TimeSpanOptionParser(targetProperty, "timeSpan"))); var setup = new TimeSpanOptionSetup <DataTypesCommandOptions>(commandParser, optionParser); setup.Styles(TimeSpanStyles.AssumeNegative); A.CallToSet(() => optionParser.TimeSpanStyles).To(TimeSpanStyles.AssumeNegative).MustHaveHappened(); }
public void Name_ShouldReturnOptionSetup() { var commandParser = A.Fake <CommandParser <DataTypesCommandOptions> >(); var targetProperty = typeof(DataTypesCommandOptions).GetProperty("TimeSpan"); var optionParser = A.Fake <TimeSpanOptionParser>(ob => ob.WithArgumentsForConstructor(() => new TimeSpanOptionParser(targetProperty, "timeSpan"))); var setup = new TimeSpanOptionSetup <DataTypesCommandOptions>(commandParser, optionParser); A.CallTo(() => commandParser.CanOptionParserUseOptionName(optionParser, "newName")).Returns(true); setup.Name("newName").Should().Be(setup); }
public void IsRequired_ShouldSetIsRequiredFlagOnOptionParser() { var commandParser = A.Fake <CommandParser <DataTypesCommandOptions> >(); var targetProperty = typeof(DataTypesCommandOptions).GetProperty("TimeSpan"); var optionParser = A.Fake <TimeSpanOptionParser>(ob => ob.WithArgumentsForConstructor(() => new TimeSpanOptionParser(targetProperty, "timeSpan"))); var setup = new TimeSpanOptionSetup <DataTypesCommandOptions>(commandParser, optionParser); setup.IsRequired(); A.CallToSet(() => optionParser.IsOptionRequired).To(true).MustHaveHappened(); }
public void DefaultValue_ShouldAssignDefaultValueToOptionParser() { var commandParser = A.Fake <CommandParser <DataTypesCommandOptions> >(); var targetProperty = typeof(DataTypesCommandOptions).GetProperty("TimeSpan"); var optionParser = A.Fake <TimeSpanOptionParser>(ob => ob.WithArgumentsForConstructor(() => new TimeSpanOptionParser(targetProperty, "timeSpan"))); var setup = new TimeSpanOptionSetup <DataTypesCommandOptions>(commandParser, optionParser); var defaultValue = new TimeSpan(1, 2, 3, 4); setup.DefaultValue(defaultValue); A.CallToSet(() => optionParser.OptionDefaultValue).To(defaultValue).MustHaveHappened(); }
public void Name_DuplicateName_ShouldThrowException() { var commandParser = A.Fake <CommandParser <DataTypesCommandOptions> >(); var targetProperty = typeof(DataTypesCommandOptions).GetProperty("TimeSpan"); var optionParser = A.Fake <TimeSpanOptionParser>(ob => ob.WithArgumentsForConstructor(() => new TimeSpanOptionParser(targetProperty, "timeSpan"))); var setup = new TimeSpanOptionSetup <DataTypesCommandOptions>(commandParser, optionParser); A.CallTo(() => commandParser.CanOptionParserUseOptionName(optionParser, "newName")).Returns(false); setup.Invoking(a => a.Name("newName")) .Should() .Throw <ArgumentException>(); }