public void A_Null_String_Should_Return_A_Single_Value()
        {
            const string input = null;
            string[] expected = new [] { "" };

            VCardSimpleValue sv = new VCardSimpleValue(Name, input);
            var actual = sv.GetListValues();

            AssertEncodedValueList(expected, actual);
        }
        public void Escaped_Separators_Should_Not_Separate_Values()
        {
            const string input = @"Hello\,There";
            string[] expected = new[] { @"Hello\,There" };

            VCardSimpleValue sv = new VCardSimpleValue(Name, input);
            var actual = sv.GetListValues();

            AssertEncodedValueList(expected, actual);
        }
        public void Rfc2425_Example_4_Multiple_Values()
        {
            const string input = "1996-10-22T14:00:00Z,1996-08-11T12:34:56Z";
            DateTime[] expected = new DateTime[] {
                new DateTime(1996, 10, 22, 14, 00, 00, DateTimeKind.Utc),
                new DateTime(1996, 08, 11, 12, 34, 56, DateTimeKind.Utc),
            };

            VCardSimpleValue sv = new VCardSimpleValue(Name, input);

            var actual = sv.GetListValues();

            Assert.AreEqual(expected.GetLength(0), actual.Count, "Number of items");
            DateTimeAssert.AreEqual(expected[0], actual[0].GetDateTime());
            DateTimeAssert.AreEqual(expected[1], actual[1].GetDateTime());
        }
        public void The_Name_Of_Each_Returned_Value_Should_Be_The_Index_Starting_With_1()
        {
            const string input = @"Hello,There,Bob";
            string[] expected = new[] { "1", "2", "3" };

            VCardSimpleValue sv = new VCardSimpleValue(Name, input);
            var actual = sv.GetListValues();

            CollectionAssert.AreEqual(expected, from a in actual select a.Name);
        }
        public void Separators_At_Beginning_And_End_Should_Result_In_Empty_Items()
        {
            const string input = @",Hello,There,";
            string[] expected = new[] { "", "Hello", "There", "" };

            VCardSimpleValue sv = new VCardSimpleValue(Name, input);
            var actual = sv.GetListValues();

            AssertEncodedValueList(expected, actual);
        }
        public void No_Separators_Should_Return_A_Single_Value()
        {
            const string input = @"Hello There";
            string[] expected = new[] { "Hello There" };

            VCardSimpleValue sv = new VCardSimpleValue(Name, input);
            var actual = sv.GetListValues();

            AssertEncodedValueList(expected, actual);
        }
        public void List_With_Two_Items()
        {
            const string input = @"Hello,There";
            string[] expected = new[] { "Hello", "There" };

            VCardSimpleValue sv = new VCardSimpleValue(Name, input);
            var actual = sv.GetListValues();

            AssertEncodedValueList(expected, actual);
        }
        public void List_With_Five_Items()
        {
            const string input = @"One,Two,Three,Four,Five";
            string[] expected = new[] { "One", "Two", "Three", "Four", "Five" };

            VCardSimpleValue sv = new VCardSimpleValue(Name, input);
            var actual = sv.GetListValues();

            AssertEncodedValueList(expected, actual);
        }