public void Ctor_NullPipeline_ThrowsArgumentNullException() { var cellValuesReader = new MultipleColumnNamesValueReader("Column"); CreateElementsFactory <string> createElementsFactory = elements => elements; Assert.Throws <ArgumentNullException>("elementPipeline", () => new ManyToOneEnumerableMap <string>(cellValuesReader, null, createElementsFactory)); }
public void Ctor_NullCreateElementsFactory_ThrowsArgumentNullException() { var cellValuesReader = new MultipleColumnNamesValueReader("Column"); var elementPipeline = new ValuePipeline <string>(); Assert.Throws <ArgumentNullException>("createElementsFactory", () => new ManyToOneEnumerableMap <string>(cellValuesReader, elementPipeline, null)); }
public void Ctor_NullPipeline_ThrowsArgumentNullException() { var cellValuesReader = new MultipleColumnNamesValueReader("Column"); CreateDictionaryFactory <string> createDictionaryFactory = elements => new Dictionary <string, string>(); Assert.Throws <ArgumentNullException>("valuePipeline", () => new ManyToOneDictionaryMap <string>(cellValuesReader, null, createDictionaryFactory)); }
public void Ctor_ColumnNames() { var columnNames = new string[] { "ColumnName1", "ColumnName2" }; var reader = new MultipleColumnNamesValueReader(columnNames); Assert.Same(columnNames, reader.ColumnNames); }
public void WithValueMap_MapReturnsNull_ThrowsArgumentNullException() { var cellValuesReader = new MultipleColumnNamesValueReader("Column"); var valuePipeline = new ValuePipeline <string>(); CreateDictionaryFactory <string> createDictionaryFactory = elements => new Dictionary <string, string>(); var propertyMap = new ManyToOneDictionaryMap <string>(cellValuesReader, valuePipeline, createDictionaryFactory); Assert.Throws <ArgumentNullException>("valueMap", () => propertyMap.WithValueMap(e => null)); }
public void WithColumnIndex_NegativeColumnIndex_ThrowsArgumentOutOfRangeException() { var cellValuesReader = new MultipleColumnNamesValueReader("Column"); var elementPipeline = new ValuePipeline <string>(); CreateElementsFactory <string> createElementsFactory = elements => elements; var propertyMap = new ManyToOneEnumerableMap <string>(cellValuesReader, elementPipeline, createElementsFactory); Assert.Throws <ArgumentOutOfRangeException>("columnIndex", () => propertyMap.WithColumnIndex(-1)); }
public void CellValuesReader_SetNull_ThrowsArgumentNullException() { var cellValuesReader = new MultipleColumnNamesValueReader("Column"); var elementPipeline = new ValuePipeline <string>(); CreateElementsFactory <string> createElementsFactory = elements => elements; var propertyMap = new ManyToOneEnumerableMap <string>(cellValuesReader, elementPipeline, createElementsFactory); Assert.Throws <ArgumentNullException>("value", () => propertyMap.CellValuesReader = null); }
public void Ctor_MemberInfo_IMultipleCellValuesReader_IValuePipeline_CreateDictionaryFactory() { var cellValuesReader = new MultipleColumnNamesValueReader("Column"); var valuePipeline = new ValuePipeline <string>(); CreateDictionaryFactory <string> createDictionaryFactory = elements => new Dictionary <string, string>(); var propertyMap = new ManyToOneDictionaryMap <string>(cellValuesReader, valuePipeline, createDictionaryFactory); Assert.NotNull(propertyMap.ValuePipeline); }
public void WithColumnIndices_EmptyColumnIndices_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>("columnIndices", () => propertyMap.WithColumnIndices(new int[0])); Assert.Throws <ArgumentException>("columnIndices", () => propertyMap.WithColumnIndices(new List <int>())); }
public void WithColumnNames_EmptyColumnNames_ThrowsArgumentException() { var cellValuesReader = new MultipleColumnNamesValueReader("Column"); var valuePipeline = new ValuePipeline <string>(); CreateDictionaryFactory <string> createDictionaryFactory = elements => new Dictionary <string, string>(); var propertyMap = new ManyToOneDictionaryMap <string>(cellValuesReader, valuePipeline, createDictionaryFactory).WithColumnNames("ColumnNames"); Assert.Throws <ArgumentException>("columnNames", () => propertyMap.WithColumnNames(new string[0])); Assert.Throws <ArgumentException>("columnNames", () => propertyMap.WithColumnNames(new List <string>())); }
public void Ctor_IMultipleCellValuesReader_IValuePipeline_CreateElementsFactory() { var cellValuesReader = new MultipleColumnNamesValueReader("Column"); var elementPipeline = new ValuePipeline <string>(); CreateElementsFactory <string> createElementsFactory = elements => elements; var propertyMap = new ManyToOneEnumerableMap <string>(cellValuesReader, elementPipeline, createElementsFactory); Assert.False(propertyMap.Optional); Assert.NotNull(propertyMap.ElementPipeline); }
public void WithColumnNames_ParamsString_Success() { var columnNames = new string[] { "ColumnName1", "ColumnName2" }; MemberInfo propertyInfo = typeof(TestClass).GetProperty(nameof(TestClass.Value)); var propertyMap = new SubPropertyMap(propertyInfo).WithColumnNames("ColumnNames"); Assert.Same(propertyMap, propertyMap.WithColumnNames(columnNames)); MultipleColumnNamesValueReader valueReader = Assert.IsType <MultipleColumnNamesValueReader>(propertyMap.ColumnsReader); Assert.Same(columnNames, valueReader.ColumnNames); }
public void WithSeperators_MultiMap_ThrowsExcelMappingException() { 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 <ExcelMappingException>(() => propertyMap.WithSeparators(new char[0])); Assert.Throws <ExcelMappingException>(() => propertyMap.WithSeparators(new List <char>())); Assert.Throws <ExcelMappingException>(() => propertyMap.WithSeparators(new string[0])); Assert.Throws <ExcelMappingException>(() => propertyMap.WithSeparators(new List <string>())); }
public void MakeOptional_HasMapper_ReturnsExpected() { var cellValuesReader = new MultipleColumnNamesValueReader("Column"); var elementPipeline = new ValuePipeline <string>(); CreateElementsFactory <string> createElementsFactory = elements => elements; var propertyMap = new ManyToOneEnumerableMap <string>(cellValuesReader, elementPipeline, createElementsFactory); Assert.False(propertyMap.Optional); Assert.Same(propertyMap, propertyMap.MakeOptional()); Assert.True(propertyMap.Optional); Assert.Same(cellValuesReader, propertyMap.CellValuesReader); }
public void WithColumnIndices_ParamsInt_Success() { var columnIndices = new int[] { 0, 1 }; 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.WithColumnIndices(columnIndices)); MultipleColumnIndicesValueReader reader = Assert.IsType <MultipleColumnIndicesValueReader>(propertyMap.CellValuesReader); Assert.Same(columnIndices, reader.ColumnIndices); }
public void WithColumnNames_ParamsString_Success() { var columnNames = new string[] { "ColumnName1", "ColumnName2" }; var cellValuesReader = new MultipleColumnNamesValueReader("Column"); var valuePipeline = new ValuePipeline <string>(); CreateDictionaryFactory <string> createDictionaryFactory = elements => new Dictionary <string, string>(); var propertyMap = new ManyToOneDictionaryMap <string>(cellValuesReader, valuePipeline, createDictionaryFactory).WithColumnNames("ColumnNames"); Assert.Same(propertyMap, propertyMap.WithColumnNames(columnNames)); MultipleColumnNamesValueReader valueReader = Assert.IsType <MultipleColumnNamesValueReader>(propertyMap.CellValuesReader); Assert.Same(columnNames, valueReader.ColumnNames); }
public void WithColumnIndex_MultiColumnIndex_Success(int columnIndex) { var cellValuesReader = new MultipleColumnNamesValueReader("Column"); var elementPipeline = new ValuePipeline <string>(); CreateElementsFactory <string> createElementsFactory = elements => elements; var propertyMap = new ManyToOneEnumerableMap <string>(cellValuesReader, elementPipeline, createElementsFactory).WithColumnNames("ColumnName"); Assert.Same(propertyMap, propertyMap.WithColumnIndex(columnIndex)); CharSplitCellValueReader valueReader = Assert.IsType <CharSplitCellValueReader>(propertyMap.CellValuesReader); ColumnIndexValueReader innerReader = Assert.IsType <ColumnIndexValueReader>(valueReader.CellReader); Assert.Equal(columnIndex, innerReader.ColumnIndex); }
public void CellValuesReader_SetValid_GetReturnsExpected(IMultipleCellValuesReader value) { var cellValuesReader = new MultipleColumnNamesValueReader("Column"); var elementPipeline = new ValuePipeline <string>(); CreateElementsFactory <string> createElementsFactory = elements => elements; var propertyMap = new ManyToOneEnumerableMap <string>(cellValuesReader, elementPipeline, createElementsFactory) { CellValuesReader = value }; Assert.Same(value, propertyMap.CellValuesReader); // Set same. propertyMap.CellValuesReader = value; Assert.Same(value, propertyMap.CellValuesReader); }
public void WithColumnNames_IEnumerableString_Success() { var columnNames = new List <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((IEnumerable <string>)columnNames)); MultipleColumnNamesValueReader valueReader = Assert.IsType <MultipleColumnNamesValueReader>(propertyMap.CellValuesReader); Assert.Equal(columnNames, valueReader.ColumnNames); }
public void WithElementMap_ValidMap_Success() { var cellValuesReader = new MultipleColumnNamesValueReader("Column"); var elementPipeline = new ValuePipeline <string>(); CreateElementsFactory <string> createElementsFactory = elements => elements; var propertyMap = new ManyToOneEnumerableMap <string>(cellValuesReader, elementPipeline, createElementsFactory); var newElementPipeline = new ValuePipeline <string>(); Assert.Same(propertyMap, propertyMap.WithElementMap(e => { Assert.Same(e, propertyMap.ElementPipeline); return(newElementPipeline); })); Assert.Same(newElementPipeline, propertyMap.ElementPipeline); }
public void WithValueMap_ValidMap_Success() { var cellValuesReader = new MultipleColumnNamesValueReader("Column"); var valuePipeline = new ValuePipeline <string>(); CreateDictionaryFactory <string> createDictionaryFactory = elements => new Dictionary <string, string>(); var propertyMap = new ManyToOneDictionaryMap <string>(cellValuesReader, valuePipeline, createDictionaryFactory); var newValuePipeline = new ValuePipeline <string>(); Assert.Same(propertyMap, propertyMap.WithValueMap(e => { Assert.Same(e, propertyMap.ValuePipeline); return(newValuePipeline); })); Assert.Same(newValuePipeline, propertyMap.ValuePipeline); }
public void Optional_Set_GetReturnsExpected(bool value) { var cellValuesReader = new MultipleColumnNamesValueReader("Column"); var elementPipeline = new ValuePipeline <string>(); CreateElementsFactory <string> createElementsFactory = elements => elements; var propertyMap = new ManyToOneEnumerableMap <string>(cellValuesReader, elementPipeline, createElementsFactory) { Optional = value }; Assert.Equal(value, propertyMap.Optional); // Set same. propertyMap.Optional = value; Assert.Equal(value, propertyMap.Optional); // Set different. propertyMap.Optional = !value; Assert.Equal(!value, propertyMap.Optional); }