コード例 #1
0
        public void Format_ShouldReturnOptionSetup()
        {
            var commandParser = A.Fake <CommandParser <DataTypesCommandOptions> >();

            var targetProperty = typeof(DataTypesCommandOptions).GetProperty("DateTime");
            var optionParser   = A.Fake <DateTimeOptionParser>(ob => ob.WithArgumentsForConstructor(() => new DateTimeOptionParser(targetProperty, "dateTime")));

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

            setup.Format("ddd dd MMM yyyy h:mm tt").Should().Be(setup);
        }
コード例 #2
0
        public void DefaultValue_ShouldReturnOptionSetup()
        {
            var commandParser = A.Fake <CommandParser <DataTypesCommandOptions> >();

            var targetProperty = typeof(DataTypesCommandOptions).GetProperty("DateTime");
            var optionParser   = A.Fake <DateTimeOptionParser>(ob => ob.WithArgumentsForConstructor(() => new DateTimeOptionParser(targetProperty, "dateTime")));

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

            setup.DefaultValue(new DateTime(2020, 12, 31, 23, 59, 59)).Should().Be(setup);
        }
コード例 #3
0
        public void Styles_ShouldReturnOptionSetup()
        {
            var commandParser = A.Fake <CommandParser <DataTypesCommandOptions> >();

            var targetProperty = typeof(DataTypesCommandOptions).GetProperty("DateTime");
            var optionParser   = A.Fake <DateTimeOptionParser>(ob => ob.WithArgumentsForConstructor(() => new DateTimeOptionParser(targetProperty, "dateTime")));

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

            setup.Styles(DateTimeStyles.AdjustToUniversal).Should().Be(setup);
        }
コード例 #4
0
        public void Format_ShouldAssignFormatToOptionParser()
        {
            var commandParser = A.Fake <CommandParser <DataTypesCommandOptions> >();

            var targetProperty = typeof(DataTypesCommandOptions).GetProperty("DateTime");
            var optionParser   = A.Fake <DateTimeOptionParser>(ob => ob.WithArgumentsForConstructor(() => new DateTimeOptionParser(targetProperty, "dateTime")));

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

            setup.Format("ddd dd MMM yyyy h:mm tt");

            A.CallToSet(() => optionParser.DateTimeFormat).To("ddd dd MMM yyyy h:mm tt").MustHaveHappened();
        }
コード例 #5
0
        public void Styles_ShouldAssignStylesToOptionParser()
        {
            var commandParser = A.Fake <CommandParser <DataTypesCommandOptions> >();

            var targetProperty = typeof(DataTypesCommandOptions).GetProperty("DateTime");
            var optionParser   = A.Fake <DateTimeOptionParser>(ob => ob.WithArgumentsForConstructor(() => new DateTimeOptionParser(targetProperty, "dateTime")));

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

            setup.Styles(DateTimeStyles.AdjustToUniversal);

            A.CallToSet(() => optionParser.DateTimeStyles).To(DateTimeStyles.AdjustToUniversal).MustHaveHappened();
        }
コード例 #6
0
        public void Name_ShouldReturnOptionSetup()
        {
            var commandParser = A.Fake <CommandParser <DataTypesCommandOptions> >();

            var targetProperty = typeof(DataTypesCommandOptions).GetProperty("DateTime");
            var optionParser   = A.Fake <DateTimeOptionParser>(ob => ob.WithArgumentsForConstructor(() => new DateTimeOptionParser(targetProperty, "dateTime")));

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

            A.CallTo(() => commandParser.CanOptionParserUseOptionName(optionParser, "newName")).Returns(true);

            setup.Name("newName").Should().Be(setup);
        }
コード例 #7
0
        public void IsRequired_ShouldSetIsRequiredFlagOnOptionParser()
        {
            var commandParser = A.Fake <CommandParser <DataTypesCommandOptions> >();

            var targetProperty = typeof(DataTypesCommandOptions).GetProperty("DateTime");
            var optionParser   = A.Fake <DateTimeOptionParser>(ob => ob.WithArgumentsForConstructor(() => new DateTimeOptionParser(targetProperty, "dateTime")));

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

            setup.IsRequired();

            A.CallToSet(() => optionParser.IsOptionRequired).To(true).MustHaveHappened();
        }
コード例 #8
0
        public void Help_ShouldAssignHelpToOptionParser()
        {
            var commandParser = A.Fake <CommandParser <DataTypesCommandOptions> >();

            var targetProperty = typeof(DataTypesCommandOptions).GetProperty("DateTime");
            var optionParser   = A.Fake <DateTimeOptionParser>(ob => ob.WithArgumentsForConstructor(() => new DateTimeOptionParser(targetProperty, "dateTime")));

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

            setup.Help("newHelpText");

            A.CallToSet(() => optionParser.OptionHelp).To("newHelpText").MustHaveHappened();
        }
コード例 #9
0
        public void FormatProvider_ShouldAssignFormatProviderToOptionParser()
        {
            var commandParser = A.Fake <CommandParser <DataTypesCommandOptions> >();

            var targetProperty = typeof(DataTypesCommandOptions).GetProperty("DateTime");
            var optionParser   = A.Fake <DateTimeOptionParser>(ob => ob.WithArgumentsForConstructor(() => new DateTimeOptionParser(targetProperty, "dateTime")));

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

            var formatProvider = new CultureInfo("de-DE");

            setup.FormatProvider(formatProvider);

            A.CallToSet(() => optionParser.FormatProvider).To(formatProvider).MustHaveHappened();
        }
コード例 #10
0
        public void DefaultValue_ShouldAssignDefaultValueToOptionParser()
        {
            var commandParser = A.Fake <CommandParser <DataTypesCommandOptions> >();

            var targetProperty = typeof(DataTypesCommandOptions).GetProperty("DateTime");
            var optionParser   = A.Fake <DateTimeOptionParser>(ob => ob.WithArgumentsForConstructor(() => new DateTimeOptionParser(targetProperty, "dateTime")));

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

            var defaultValue = new DateTime(2020, 12, 31, 23, 59, 59);

            setup.DefaultValue(defaultValue);

            A.CallToSet(() => optionParser.OptionDefaultValue).To(defaultValue).MustHaveHappened();
        }
コード例 #11
0
        public void Name_DuplicateName_ShouldThrowException()
        {
            var commandParser = A.Fake <CommandParser <DataTypesCommandOptions> >();

            var targetProperty = typeof(DataTypesCommandOptions).GetProperty("DateTime");
            var optionParser   = A.Fake <DateTimeOptionParser>(ob => ob.WithArgumentsForConstructor(() => new DateTimeOptionParser(targetProperty, "dateTime")));

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

            A.CallTo(() => commandParser.CanOptionParserUseOptionName(optionParser, "newName")).Returns(false);

            setup.Invoking(a => a.Name("newName"))
            .Should()
            .Throw <ArgumentException>();
        }