public void Parse_CustomFormatSettings_ShouldPassCustomFormatToValueParser() { var valueParser = A.Fake <ValueParser>(ob => ob.CallsBaseMethods()); var parser = new GuidListOptionParser(typeof(DataTypesCommandOptions).GetProperty("Guids"), "guids"); parser.ValueParser = valueParser; parser.GuidFormat = "X"; var tokens = new List <Token> { new OptionToken("guids") { OptionValues = { "{0x13d02a84,0x84f7,0x4a2d,{0x8f,0x09,0x2f,0x96,0xde,0xfb,0x8c,0x79}}" } } }; var parseResult = new ParseResult(); var dataTypesCommandOptions = new DataTypesCommandOptions(); parseResult.CommandOptions = dataTypesCommandOptions; parser.Parse(tokens, parseResult); Guid guid; A.CallTo(() => valueParser.TryParseGuid("{0x13d02a84,0x84f7,0x4a2d,{0x8f,0x09,0x2f,0x96,0xde,0xfb,0x8c,0x79}}", "X", out guid)).MustHaveHappened(); }
public void Parse_CustomFormatSettings_ShouldPassCustomFormatToValueParser() { var valueParser = A.Fake <ValueParser>(ob => ob.CallsBaseMethods()); var parser = new GuidOptionParser(typeof(DataTypesCommandOptions).GetProperty("Guid"), "guid"); parser.ValueParser = valueParser; parser.GuidFormat = "X"; var tokens = new List <Token> { new OptionToken("guid") { OptionValues = { "{0x501a44e0,0x6d8f,0x4dd8,{0x99,0x4e,0x77,0x33,0x00,0x57,0x2d,0x37}}" } } }; var parseResult = new ParseResult(); var dataTypesCommandOptions = new DataTypesCommandOptions(); parseResult.CommandOptions = dataTypesCommandOptions; parser.Parse(tokens, parseResult); Guid guid; A.CallTo(() => valueParser.TryParseGuid("{0x501a44e0,0x6d8f,0x4dd8,{0x99,0x4e,0x77,0x33,0x00,0x57,0x2d,0x37}}", "X", out guid)).MustHaveHappened(); }
public void Parse_ValidValue_ShouldParseAndAssignValueToTargetProperty() { var valueParser = A.Fake <ValueParser>(); var parser = new GuidOptionParser(typeof(DataTypesCommandOptions).GetProperty("Guid"), "guid"); parser.ValueParser = valueParser; var tokens = new List <Token> { new OptionToken("guid") { OptionValues = { "501a44e0-6d8f-4dd8-994e-773300572d37" } } }; var parseResult = new ParseResult(); var dataTypesCommandOptions = new DataTypesCommandOptions(); parseResult.CommandOptions = dataTypesCommandOptions; Guid guid; A.CallTo(() => valueParser.TryParseGuid("501a44e0-6d8f-4dd8-994e-773300572d37", null, out guid)) .Returns(true) .AssignsOutAndRefParameters(new Guid("501a44e0-6d8f-4dd8-994e-773300572d37")); parser.Parse(tokens, parseResult); dataTypesCommandOptions.Guid.Should().Be(new Guid("501a44e0-6d8f-4dd8-994e-773300572d37")); A.CallTo(() => valueParser.TryParseGuid("501a44e0-6d8f-4dd8-994e-773300572d37", null, out guid)).MustHaveHappened(); }
public void Parse_CustomFormatSettings_ShouldPassCustomFormatToValueParser() { var valueParser = A.Fake <ValueParser>(ob => ob.CallsBaseMethods()); var parser = new DecimalListOptionParser(typeof(DataTypesCommandOptions).GetProperty("Decimals"), "decimals"); parser.ValueParser = valueParser; parser.NumberStyles = NumberStyles.Currency; parser.FormatProvider = new CultureInfo("de-DE"); var tokens = new List <Token> { new OptionToken("decimals") { OptionValues = { "123.456" } } }; var parseResult = new ParseResult(); var dataTypesCommandOptions = new DataTypesCommandOptions(); parseResult.CommandOptions = dataTypesCommandOptions; parser.Parse(tokens, parseResult); Decimal decimalValue; A.CallTo(() => valueParser.TryParseDecimal("123.456", NumberStyles.Currency, new CultureInfo("de-DE"), out decimalValue)).MustHaveHappened(); }
public void Parse_CustomFormatSettings_ShouldPassCustomFormatToValueParser() { var valueParser = A.Fake <ValueParser>(ob => ob.CallsBaseMethods()); var parser = new TimeSpanListOptionParser(typeof(DataTypesCommandOptions).GetProperty("TimeSpans"), "timeSpans"); parser.ValueParser = valueParser; parser.TimeSpanFormat = @"hh\:mm"; parser.TimeSpanStyles = TimeSpanStyles.AssumeNegative; parser.FormatProvider = new CultureInfo("de-DE"); var tokens = new List <Token> { new OptionToken("timeSpans") { OptionValues = { "23:59" } } }; var parseResult = new ParseResult(); var dataTypesCommandOptions = new DataTypesCommandOptions(); parseResult.CommandOptions = dataTypesCommandOptions; parser.Parse(tokens, parseResult); TimeSpan timeSpan; A.CallTo(() => valueParser.TryParseTimeSpan("23:59", @"hh\:mm", new CultureInfo("de-DE"), TimeSpanStyles.AssumeNegative, out timeSpan)).MustHaveHappened(); }
public void Parse_ValidValues_ShouldParseAndAssignToTargetProperty() { var valueParser = A.Fake <ValueParser>(); var parser = new EnumOptionParser <LogLevel>(typeof(DataTypesCommandOptions).GetProperty("Enum"), "logLevel"); parser.ValueParser = valueParser; var tokens = new List <Token> { new OptionToken("logLevel") { OptionValues = { "Debug" } } }; var parseResult = new ParseResult(); var dataTypesCommandOptions = new DataTypesCommandOptions(); parseResult.CommandOptions = dataTypesCommandOptions; LogLevel logLevel; A.CallTo(() => valueParser.TryParseEnum("Debug", out logLevel)) .Returns(true) .AssignsOutAndRefParameters(LogLevel.Debug); parser.Parse(tokens, parseResult); parseResult.HasErrors.Should().BeFalse(); parseResult.CommandOptions.Should().BeOfType <DataTypesCommandOptions>(); dataTypesCommandOptions.Enum.Should().Be(LogLevel.Debug); A.CallTo(() => valueParser.TryParseEnum("Debug", out logLevel)).MustHaveHappened(); }
public void Parse_OptionNotPresent_ShouldSetTargetPropertyToTrue() { var parser = new BooleanOptionParser(typeof(DataTypesCommandOptions).GetProperty("Boolean"), "boolean"); var tokens = new List <Token>(); var parseResult = new ParseResult(); var dataTypesCommandOptions = new DataTypesCommandOptions(); parseResult.CommandOptions = dataTypesCommandOptions; parser.Parse(tokens, parseResult); dataTypesCommandOptions.Boolean.Should().BeFalse(); }
public void Parse_OptionNotPresent_ShouldAssignDefaultValueToTargetProperty() { var parser = new StringOptionParser(typeof(DataTypesCommandOptions).GetProperty("String"), "string"); parser.OptionDefaultValue = "value"; var tokens = new List <Token>(); var parseResult = new ParseResult(); var dataTypesCommandOptions = new DataTypesCommandOptions(); parseResult.CommandOptions = dataTypesCommandOptions; parser.Parse(tokens, parseResult); dataTypesCommandOptions.String.Should().Be("value"); }
public void Parse_OptionNotPresent_ShouldAssignDefaultValueToTargetProperty() { var parser = new GuidOptionParser(typeof(DataTypesCommandOptions).GetProperty("Guid"), "guid"); parser.OptionDefaultValue = new Guid("501a44e0-6d8f-4dd8-994e-773300572d37"); var tokens = new List <Token>(); var parseResult = new ParseResult(); var dataTypesCommandOptions = new DataTypesCommandOptions(); parseResult.CommandOptions = dataTypesCommandOptions; parser.Parse(tokens, parseResult); dataTypesCommandOptions.Guid.Should().Be(new Guid("501a44e0-6d8f-4dd8-994e-773300572d37")); }
public void Parse_OptionNotPresent_ShouldAssignDefaultValueToTargetProperty() { var parser = new EnumOptionParser <LogLevel>(typeof(DataTypesCommandOptions).GetProperty("Enum"), "logLevel"); parser.OptionDefaultValue = LogLevel.Error; var tokens = new List <Token>(); var parseResult = new ParseResult(); var dataTypesCommandOptions = new DataTypesCommandOptions(); parseResult.CommandOptions = dataTypesCommandOptions; parser.Parse(tokens, parseResult); dataTypesCommandOptions.Enum.Should().Be(LogLevel.Error); }
public void Parse_OptionNotPresent_ShouldAssignDefaultValueToTargetProperty() { var parser = new DecimalListOptionParser(typeof(DataTypesCommandOptions).GetProperty("Decimals"), "decimals"); parser.OptionDefaultValue = new List <Decimal> { 123.456M, 456.789M }; var tokens = new List <Token>(); var parseResult = new ParseResult(); var dataTypesCommandOptions = new DataTypesCommandOptions(); parseResult.CommandOptions = dataTypesCommandOptions; parser.Parse(tokens, parseResult); dataTypesCommandOptions.Decimals.Should().BeEquivalentTo(123.456M, 456.789M); }
public void Parse_OptionNotPresent_ShouldAssignDefaultValueToTargetProperty() { var parser = new TimeSpanListOptionParser(typeof(DataTypesCommandOptions).GetProperty("TimeSpans"), "timeSpans"); parser.OptionDefaultValue = new List <TimeSpan> { new TimeSpan(23, 59, 59), new TimeSpan(10, 30, 59) }; var tokens = new List <Token>(); var parseResult = new ParseResult(); var dataTypesCommandOptions = new DataTypesCommandOptions(); parseResult.CommandOptions = dataTypesCommandOptions; parser.Parse(tokens, parseResult); dataTypesCommandOptions.TimeSpans.Should().BeEquivalentTo(new TimeSpan(23, 59, 59), new TimeSpan(10, 30, 59)); }
public void Parse_OptionNotPresent_ShouldAssignDefaultValueToTargetProperty() { var parser = new Int64ListOptionParser(typeof(DataTypesCommandOptions).GetProperty("Int64s"), "int64s"); parser.OptionDefaultValue = new List <Int64> { 123, 456 }; var tokens = new List <Token>(); var parseResult = new ParseResult(); var dataTypesCommandOptions = new DataTypesCommandOptions(); parseResult.CommandOptions = dataTypesCommandOptions; parser.Parse(tokens, parseResult); dataTypesCommandOptions.Int64s.Should().BeEquivalentTo(123L, 456L); }
public void Parse_OptionNotPresent_ShouldAssignDefaultValueToTargetProperty() { var parser = new GuidListOptionParser(typeof(DataTypesCommandOptions).GetProperty("Guids"), "guids"); parser.OptionDefaultValue = new List <Guid> { new Guid("13d02a84-84f7-4a2d-8f09-2f96defb8c79"), new Guid("9e6a5202-102f-4eb9-a217-0a58f4db40b6") }; var tokens = new List <Token>(); var parseResult = new ParseResult(); var dataTypesCommandOptions = new DataTypesCommandOptions(); parseResult.CommandOptions = dataTypesCommandOptions; parser.Parse(tokens, parseResult); dataTypesCommandOptions.Guids.Should().BeEquivalentTo(new Guid("13d02a84-84f7-4a2d-8f09-2f96defb8c79"), new Guid("9e6a5202-102f-4eb9-a217-0a58f4db40b6")); }
public void Parse_ValidValue_ShouldParseAndAssignValueToTargetProperty() { var parser = new StringOptionParser(typeof(DataTypesCommandOptions).GetProperty("String"), "string"); var tokens = new List <Token> { new OptionToken("string") { OptionValues = { "value" } } }; var parseResult = new ParseResult(); var dataTypesCommandOptions = new DataTypesCommandOptions(); parseResult.CommandOptions = dataTypesCommandOptions; parser.Parse(tokens, parseResult); dataTypesCommandOptions.String.Should().Be("value"); }
public void Parse_ValidValue_ShouldParseAndAssignValueToTargetProperty() { var valueParser = A.Fake <ValueParser>(); var parser = new DecimalListOptionParser(typeof(DataTypesCommandOptions).GetProperty("Decimals"), "decimals"); parser.ValueParser = valueParser; var tokens = new List <Token> { new OptionToken("decimals") { OptionValues = { "123.456", "456.789" } } }; var parseResult = new ParseResult(); var dataTypesCommandOptions = new DataTypesCommandOptions(); parseResult.CommandOptions = dataTypesCommandOptions; Decimal decimalValue; A.CallTo(() => valueParser.TryParseDecimal("123.456", NumberStyles.Any, new CultureInfo("en-US"), out decimalValue)) .Returns(true) .AssignsOutAndRefParameters(123.456M); A.CallTo(() => valueParser.TryParseDecimal("456.789", NumberStyles.Any, new CultureInfo("en-US"), out decimalValue)) .Returns(true) .AssignsOutAndRefParameters(456.789M); parser.Parse(tokens, parseResult); dataTypesCommandOptions.Decimals.Should().BeEquivalentTo(123.456M, 456.789M); A.CallTo(() => valueParser.TryParseDecimal("123.456", NumberStyles.Any, new CultureInfo("en-US"), out decimalValue)).MustHaveHappened(); A.CallTo(() => valueParser.TryParseDecimal("456.789", NumberStyles.Any, new CultureInfo("en-US"), out decimalValue)).MustHaveHappened(); }
public void Parse_ValidValue_ShouldParseAndAssignValueToTargetProperty() { var valueParser = A.Fake <ValueParser>(); var parser = new TimeSpanListOptionParser(typeof(DataTypesCommandOptions).GetProperty("TimeSpans"), "timeSpans"); parser.ValueParser = valueParser; var tokens = new List <Token> { new OptionToken("timeSpans") { OptionValues = { "23:59:59", "10:30:59" } } }; var parseResult = new ParseResult(); var dataTypesCommandOptions = new DataTypesCommandOptions(); parseResult.CommandOptions = dataTypesCommandOptions; TimeSpan timeSpan; A.CallTo(() => valueParser.TryParseTimeSpan("23:59:59", null, new CultureInfo("en-US"), TimeSpanStyles.None, out timeSpan)) .Returns(true) .AssignsOutAndRefParameters(new TimeSpan(23, 59, 59)); A.CallTo(() => valueParser.TryParseTimeSpan("10:30:59", null, new CultureInfo("en-US"), TimeSpanStyles.None, out timeSpan)) .Returns(true) .AssignsOutAndRefParameters(new TimeSpan(10, 30, 59)); parser.Parse(tokens, parseResult); dataTypesCommandOptions.TimeSpans.Should().BeEquivalentTo(new TimeSpan(23, 59, 59), new TimeSpan(10, 30, 59)); A.CallTo(() => valueParser.TryParseTimeSpan("23:59:59", null, new CultureInfo("en-US"), TimeSpanStyles.None, out timeSpan)).MustHaveHappened(); A.CallTo(() => valueParser.TryParseTimeSpan("10:30:59", null, new CultureInfo("en-US"), TimeSpanStyles.None, out timeSpan)).MustHaveHappened(); }
public void Parse_ValidValue_ShouldParseAndAssignValueToTargetProperty() { var valueParser = A.Fake <ValueParser>(); var parser = new GuidListOptionParser(typeof(DataTypesCommandOptions).GetProperty("Guids"), "guids"); parser.ValueParser = valueParser; var tokens = new List <Token> { new OptionToken("guids") { OptionValues = { "13d02a84-84f7-4a2d-8f09-2f96defb8c79", "9e6a5202-102f-4eb9-a217-0a58f4db40b6" } } }; var parseResult = new ParseResult(); var dataTypesCommandOptions = new DataTypesCommandOptions(); parseResult.CommandOptions = dataTypesCommandOptions; Guid guid; A.CallTo(() => valueParser.TryParseGuid("13d02a84-84f7-4a2d-8f09-2f96defb8c79", null, out guid)) .Returns(true) .AssignsOutAndRefParameters(new Guid("13d02a84-84f7-4a2d-8f09-2f96defb8c79")); A.CallTo(() => valueParser.TryParseGuid("9e6a5202-102f-4eb9-a217-0a58f4db40b6", null, out guid)) .Returns(true) .AssignsOutAndRefParameters(new Guid("9e6a5202-102f-4eb9-a217-0a58f4db40b6")); parser.Parse(tokens, parseResult); dataTypesCommandOptions.Guids.Should().BeEquivalentTo(new Guid("13d02a84-84f7-4a2d-8f09-2f96defb8c79"), new Guid("9e6a5202-102f-4eb9-a217-0a58f4db40b6")); A.CallTo(() => valueParser.TryParseGuid("13d02a84-84f7-4a2d-8f09-2f96defb8c79", null, out guid)).MustHaveHappened(); A.CallTo(() => valueParser.TryParseGuid("9e6a5202-102f-4eb9-a217-0a58f4db40b6", null, out guid)).MustHaveHappened(); }