예제 #1
0
파일: ParseTest.cs 프로젝트: CPardi/Doctran
        public void DefaultOption()
        {
            // Arrange
            var source =
                "StringList : String Value 1\n" +
                "StringList : String Value 2\n" +
                "Default : Default Value 1\n" +
                "Default : Default Value 2\n" +
                "Default : Default Value 3";

            var options = new Options();
            var parser  = new OptionsReader <Options>(1, "String option test");

            // Act
            parser.Parse(options, "Unit test", source);

            // Assert
            for (var i = 0; i < options.StringListOption.Count; i++)
            {
                Assert.AreEqual($"String Value {i + 1}", options.StringListOption[i]);
            }

            for (var i = 0; i < options.DefaultOption.Count; i++)
            {
                Assert.AreEqual($"Default Value {i + 1}", options.DefaultOption[i]);
            }

            Assert.AreEqual(1, options.IntOption);
            Assert.Null(options.StringOption);

            Assert.Null(options.IntListOption);
            Assert.NotNull(options.StringEnumerableOption);
        }
예제 #2
0
파일: ParseTest.cs 프로젝트: CPardi/Doctran
        public void ScalarStringOption()
        {
            // Arrange
            var source =
                "ScalarString : String Value";

            var options = new Options();
            var parser  = new OptionsReader <Options>(1, "String option test");

            // Act
            parser.Parse(options, "Unit Test", source);

            // Assert
            Assert.AreEqual("String Value", options.StringOption);
        }
예제 #3
0
파일: ParseTest.cs 프로젝트: CPardi/Doctran
        public void ScalarIntOption()
        {
            // Arrange
            var source =
                "ScalarInt : 23";

            var options = new Options();
            var parser  = new OptionsReader <Options>(1, "String option test");

            // Act
            parser.Parse(options, "Unit Test", source);

            // Assert
            Assert.AreEqual(23, options.IntOption);
        }
예제 #4
0
파일: ParseTest.cs 프로젝트: CPardi/Doctran
        public void IntListOption()
        {
            // Arrange
            var source =
                "IntList : 23\n" +
                "IntList : 45";

            var options = new Options();
            var parser  = new OptionsReader <Options>(1, "String option test");

            // Act
            parser.Parse(options, "Unit Test", source);

            // Assert
            Assert.AreEqual(23, options.IntListOption[0]);
            Assert.AreEqual(45, options.IntListOption[1]);
        }
예제 #5
0
파일: ParseTest.cs 프로젝트: CPardi/Doctran
        public void StringEnumerableOption()
        {
            // Arrange
            var source =
                "StringEnumerable : String Value 1\n" +
                "StringEnumerable : String Value 2";

            var options = new Options();
            var parser  = new OptionsReader <Options>(1, "String option test");

            // Act
            parser.Parse(options, "Unit Test", source);

            // Assert
            Assert.AreEqual($"String Value 1", options.StringEnumerableOption.First());
            Assert.AreEqual($"String Value 2", options.StringEnumerableOption.Last());
        }
예제 #6
0
파일: ParseTest.cs 프로젝트: CPardi/Doctran
        public void InvalidScalarIntOption()
        {
            // Arrange
            var source =
                "ScalarInt : Not a number";

            var options = new Options();
            var parser  = new OptionsReader <Options>(1, "String option test");

            var eCount = 0;

            parser.ErrorListener = new ErrorListener <OptionReaderException>(
                e => { eCount++; },
                e => { eCount++; });
            parser.Parse(options, "Unit Test", source);

            Assert.IsTrue(eCount > 0);
        }
예제 #7
0
파일: ParseTest.cs 프로젝트: CPardi/Doctran
        public void StringListOption()
        {
            // Arrange
            var source =
                "StringList : String Value 1\n" +
                "StringList : String Value 2";

            var options = new Options();
            var parser  = new OptionsReader <Options>(1, "String option test");

            // Act
            parser.Parse(options, "Unit Test", source);

            // Assert
            for (var i = 0; i < options.StringListOption.Count; i++)
            {
                Assert.AreEqual($"String Value {i + 1}", options.StringListOption[i]);
            }
        }
예제 #8
0
파일: ParseTest.cs 프로젝트: CPardi/Doctran
        public void MultipleScalarValues()
        {
            // Arrange
            var source =
                "ScalarInt : 12\n" +
                "ScalarInt : 23";

            var options = new Options();
            var parser  = new OptionsReader <Options>(1, "MultipleScalarValues test");

            // Act
            var eCount = 0;

            parser.ErrorListener = new ErrorListener <OptionReaderException>(
                e => { eCount++; },
                e => { eCount++; });
            parser.Parse(options, "Unit Test", source);

            Assert.IsTrue(eCount > 0);
        }