public void WithColumnNames_EmptyColumnNames_ThrowsArgumentException()
        {
            var cellValuesReader = new MultipleColumnNamesValueReader("Column");
            var elementPipeline  = new ValuePipeline <string>();
            CreateElementsFactory <string> createElementsFactory = elements => elements;
            var propertyMap = new ManyToOneEnumerableMap <string>(cellValuesReader, elementPipeline, createElementsFactory).WithColumnNames("ColumnNames");

            Assert.Throws <ArgumentException>("columnNames", () => propertyMap.WithColumnNames(new string[0]));
            Assert.Throws <ArgumentException>("columnNames", () => propertyMap.WithColumnNames(new List <string>()));
        }
        public void WithColumnNames_ParamsString_Success()
        {
            var columnNames      = new string[] { "ColumnName1", "ColumnName2" };
            var cellValuesReader = new MultipleColumnNamesValueReader("Column");
            var elementPipeline  = new ValuePipeline <string>();
            CreateElementsFactory <string> createElementsFactory = elements => elements;
            var propertyMap = new ManyToOneEnumerableMap <string>(cellValuesReader, elementPipeline, createElementsFactory).WithColumnNames("ColumnNames");

            Assert.Same(propertyMap, propertyMap.WithColumnNames(columnNames));

            MultipleColumnNamesValueReader valueReader = Assert.IsType <MultipleColumnNamesValueReader>(propertyMap.CellValuesReader);

            Assert.Same(columnNames, valueReader.ColumnNames);
        }