Esempio n. 1
0
        public void ReturnsFalseOnSingleNullInput()
        {
            // Arrange
            var parser = new SingleLineStringInputParser <int>(int.TryParse);
            int value;

            // Act, Assert
            Assert.IsFalse(parser.GetValue(null, out value));
        }
Esempio n. 2
0
        public void ReturnsFalseAfterDepleted()
        {
            // Arrange
            var parser = new SingleLineStringInputParser <int>(int.TryParse);
            int value;

            // Act, Assert
            Assert.IsTrue(parser.GetValue("1", out value));
            Assert.IsFalse(parser.GetValue(null, out value));
        }
Esempio n. 3
0
        public void ParsesSingleInputWithWhitespace()
        {
            // Arrange
            var parser = new SingleLineStringInputParser <int>(int.TryParse);
            int value;

            // Act, Assert
            Assert.IsTrue(parser.GetValue(" 1 ", out value));
            Assert.AreEqual(value, 1);
        }
Esempio n. 4
0
        public void ReturnsSeveralConsecutiveSingleInputsWithDelimiters()
        {
            // Arrange
            var parser = new SingleLineStringInputParser <int>(int.TryParse);
            int value;

            // Act, Assert
            parser.GetValue("1,", out value);
            Assert.AreEqual(value, 1);

            parser.GetValue("2, ", out value);
            Assert.AreEqual(value, 2);

            Assert.IsFalse(parser.GetValue(null, out value));
        }
Esempio n. 5
0
        public void InputLineWith3IntsReads3Ints()
        {
            // Arrange
            var parser = new SingleLineStringInputParser <int>(int.TryParse);
            int value;

            // Act, Assert
            parser.GetValue("1, 2, 3", out value);
            Assert.AreEqual(value, 1);

            parser.GetValue(null, out value);
            Assert.AreEqual(value, 2);

            parser.GetValue(null, out value);
            Assert.AreEqual(value, 3);

            Assert.IsFalse(parser.GetValue(null, out value));
        }