public void GivenModeIsAlwaysQuotedWhenLineInfoIsNotQuotedThenAnExceptionIsThrown() {
            var fi = new Mock<FieldInfo>();
            fi.Setup(f => f.FieldType).Returns(typeof (string));
            var fieldUnderTest = new DelimitedField(fi.Object, ";") {
                QuoteChar = '%',
                QuoteMode = QuoteMode.AlwaysQuoted
            };
            var invalidLineInfo = new LineInfo("Hello, World") {
                mReader = new ForwardReader(new Mock<IRecordReader>().Object, 0),
            };

            Assert.Throws<BadUsageException>(() => fieldUnderTest.ExtractFieldString(invalidLineInfo));
        } 
        public void GivenModeIsAlwaysQuotedWhenLineInfoIsNotQuotedThenAnExceptionIsThrown()
        {
            var fi = new Mock <FieldInfo>();

            fi.Setup(f => f.FieldType).Returns(typeof(string));
            var fieldUnderTest = new DelimitedField(fi.Object, ";")
            {
                QuoteChar = '%',
                QuoteMode = QuoteMode.AlwaysQuoted
            };
            var invalidLineInfo = new LineInfo("Hello, World")
            {
                mReader = new ForwardReader(new Mock <IRecordReader>().Object, 0),
            };

            Assert.Throws <BadUsageException>(() => fieldUnderTest.ExtractFieldString(invalidLineInfo));
        }
示例#3
0
        public List <string> GetTags(Item item, ID sourceTagsField)
        {
            item.Fields.ReadAll();
            DelimitedField df = item?.Fields[sourceTagsField];

            if (df == null)
            {
                return(new List <string>());
            }

            var tagNames = df.Items
                           .Select(t => item.Database.GetItem(t)?.Name)
                           .Where(a => !string.IsNullOrWhiteSpace(a))
                           .ToList();

            return(tagNames);
        }
 /// <inheritdoc />
 /// <summary>
 /// Initializes a new instance of the <see cref="T:Constellation.Foundation.Items.FieldProperties.DelimitedProperty" /> class.
 /// </summary>
 /// <param name="field">The field to wrap.</param>
 /// <param name="separator">The character to use for delimiting values.</param>
 public DelimitedProperty(Field field, char separator)
     : base(field)
 {
     _delimitedField = new DelimitedField(field, separator);
     Separator       = separator;
 }
 /// <inheritdoc />
 /// <summary>
 /// Initializes a new instance of the <see cref="DelimitedProperty"/> class.
 /// </summary>
 /// <param name="field">The field to wrap.</param>
 public DelimitedProperty(Field field)
     : base(field)
 {
     _delimitedField = new DelimitedField(field, Separator);
 }
		/// <summary>
		/// Initializes a new instance of the <see cref="DelimitedProperty"/> class.
		/// </summary>
		/// <param name="field">The field to wrap.</param>
		/// <param name="separator">The character to use for delimiting values.</param>
		public DelimitedProperty(Field field, char separator)
			: base(field)
		{
			this.delimitedField = new DelimitedField(field, separator);
			this.Separator = separator;
		}
		/// <summary>
		/// Initializes a new instance of the <see cref="DelimitedProperty"/> class.
		/// </summary>
		/// <param name="field">The field to wrap.</param>
		public DelimitedProperty(Field field)
			: base(field)
		{
			this.delimitedField = new DelimitedField(field, this.Separator);
		}