Beispiel #1
0
        public void WithElementMap_MapReturnsNull_ThrowsArgumentNullException()
        {
            MemberInfo propertyInfo = typeof(TestClass).GetProperty(nameof(TestClass.Value));
            var        propertyMap  = new SubPropertyMap(propertyInfo);

            Assert.Throws <ArgumentNullException>("elementMap", () => propertyMap.WithElementMap(e => null));
        }
Beispiel #2
0
        public void WithColumnIndex_NegativeColumnIndex_ThrowsArgumentOutOfRangeException()
        {
            MemberInfo propertyInfo = typeof(TestClass).GetProperty(nameof(TestClass.Value));
            var        propertyMap  = new SubPropertyMap(propertyInfo);

            Assert.Throws <ArgumentOutOfRangeException>("columnIndex", () => propertyMap.WithColumnIndex(-1));
        }
Beispiel #3
0
        public void WithColumnName_EmptyColumnName_ThrowsArgumentException()
        {
            MemberInfo propertyInfo = typeof(TestClass).GetProperty(nameof(TestClass.Value));
            var        propertyMap  = new SubPropertyMap(propertyInfo);

            Assert.Throws <ArgumentException>("columnName", () => propertyMap.WithColumnName(string.Empty));
        }
Beispiel #4
0
        public void WithColumnIndices_NullColumnIndices_ThrowsArgumentNullException()
        {
            MemberInfo propertyInfo = typeof(TestClass).GetProperty(nameof(TestClass.Value));
            var        propertyMap  = new SubPropertyMap(propertyInfo).WithColumnNames("ColumnNames");

            Assert.Throws <ArgumentNullException>("columnIndices", () => propertyMap.WithColumnIndices(null));
            Assert.Throws <ArgumentNullException>("columnIndices", () => propertyMap.WithColumnIndices((IEnumerable <int>)null));
        }
Beispiel #5
0
        public void WithSeperators_MultiMap_ThrowsExcelMappingException()
        {
            MemberInfo propertyInfo = typeof(TestClass).GetProperty(nameof(TestClass.Value));
            var        propertyMap  = new SubPropertyMap(propertyInfo).WithColumnNames("ColumnNames");

            Assert.Throws <ExcelMappingException>(() => propertyMap.WithSeparators(new char[0]));
            Assert.Throws <ExcelMappingException>(() => propertyMap.WithSeparators(new List <char>()));
        }
Beispiel #6
0
        public void WithSeparators_EmptySeparators_ThrowsArgumentException()
        {
            MemberInfo propertyInfo = typeof(TestClass).GetProperty(nameof(TestClass.Value));
            var        propertyMap  = new SubPropertyMap(propertyInfo);

            Assert.Throws <ArgumentException>("value", () => propertyMap.WithSeparators(new char[0]));
            Assert.Throws <ArgumentException>("value", () => propertyMap.WithSeparators(new List <char>()));
        }
Beispiel #7
0
        public void WithSeparators_NullSeparators_ThrowsArgumentNullException()
        {
            MemberInfo propertyInfo = typeof(TestClass).GetProperty(nameof(TestClass.Value));
            var        propertyMap  = new SubPropertyMap(propertyInfo);

            Assert.Throws <ArgumentNullException>("value", () => propertyMap.WithSeparators(null));
            Assert.Throws <ArgumentNullException>("value", () => propertyMap.WithSeparators((IEnumerable <char>)null));
        }
Beispiel #8
0
        public void WithColumnIndices_EmptyColumnIndices_ThrowsArgumentException()
        {
            MemberInfo propertyInfo = typeof(TestClass).GetProperty(nameof(TestClass.Value));
            var        propertyMap  = new SubPropertyMap(propertyInfo).WithColumnNames("ColumnNames");

            Assert.Throws <ArgumentException>("columnIndices", () => propertyMap.WithColumnIndices(new int[0]));
            Assert.Throws <ArgumentException>("columnIndices", () => propertyMap.WithColumnIndices(new List <int>()));
        }
Beispiel #9
0
        public void Ctor_MemberInfo_EmptyValueStategy()
        {
            MemberInfo propertyInfo = typeof(TestClass).GetProperty(nameof(TestClass.Value));
            var        propertyMap  = new SubPropertyMap(propertyInfo);

            Assert.Same(propertyInfo, propertyMap.Member);

            Assert.NotNull(propertyMap.ElementMap);
        }
Beispiel #10
0
        public void WithColumnNames_NullValueInColumnNames_ThrowsArgumentException()
        {
            MemberInfo propertyInfo = typeof(TestClass).GetProperty(nameof(TestClass.Value));
            var        propertyMap  = new SubPropertyMap(propertyInfo).WithColumnNames("ColumnNames");

            Assert.Throws <ArgumentException>("columnNames", () => propertyMap.WithColumnNames(new string[] { null }));
            Assert.Throws <ArgumentException>("columnNames", () => propertyMap.WithColumnNames(new List <string> {
                null
            }));
        }
Beispiel #11
0
        public void WithColumnIndices_NegativeValueInColumnIndices_ThrowsArgumentOutOfRangeException()
        {
            MemberInfo propertyInfo = typeof(TestClass).GetProperty(nameof(TestClass.Value));
            var        propertyMap  = new SubPropertyMap(propertyInfo).WithColumnNames("ColumnNames");

            Assert.Throws <ArgumentOutOfRangeException>("columnIndices", () => propertyMap.WithColumnIndices(new int[] { -1 }));
            Assert.Throws <ArgumentOutOfRangeException>("columnIndices", () => propertyMap.WithColumnIndices(new List <int> {
                -1
            }));
        }
Beispiel #12
0
        public void WithSeparators_IEnumerableString_Success(IEnumerable <char> separators)
        {
            MemberInfo propertyInfo = typeof(TestClass).GetProperty(nameof(TestClass.Value));
            var        propertyMap  = new SubPropertyMap(propertyInfo);

            Assert.Same(propertyMap, propertyMap.WithSeparators(separators));

            SplitCellValueReader valueReader = Assert.IsType <SplitCellValueReader>(propertyMap.ColumnsReader);

            Assert.Equal(separators, valueReader.Separators);
        }
Beispiel #13
0
        public void WithColumnIndices_ParamsInt_Success()
        {
            var        columnIndices = new int[] { 0, 1 };
            MemberInfo propertyInfo  = typeof(TestClass).GetProperty(nameof(TestClass.Value));
            var        propertyMap   = new SubPropertyMap(propertyInfo).WithColumnNames("ColumnNames");

            Assert.Same(propertyMap, propertyMap.WithColumnIndices(columnIndices));

            MultipleColumnIndicesValueReader reader = Assert.IsType <MultipleColumnIndicesValueReader>(propertyMap.ColumnsReader);

            Assert.Same(columnIndices, reader.ColumnIndices);
        }
Beispiel #14
0
        public void WithColumnIndex_SplitColumnIndex_Success(int columnIndex)
        {
            MemberInfo propertyInfo = typeof(TestClass).GetProperty(nameof(TestClass.Value));
            var        propertyMap  = new SubPropertyMap(propertyInfo);

            Assert.Same(propertyMap, propertyMap.WithColumnIndex(columnIndex));

            SplitCellValueReader   valueReader = Assert.IsType <SplitCellValueReader>(propertyMap.ColumnsReader);
            ColumnIndexValueReader innerReader = Assert.IsType <ColumnIndexValueReader>(valueReader.CellReader);

            Assert.Equal(columnIndex, innerReader.ColumnIndex);
        }
Beispiel #15
0
        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);
        }
Beispiel #16
0
        public void WithColumnName_MultiValidColumnName_Success()
        {
            MemberInfo propertyInfo = typeof(TestClass).GetProperty(nameof(TestClass.Value));
            var        propertyMap  = new SubPropertyMap(propertyInfo).WithColumnNames("ColumnName");

            Assert.Same(propertyMap, propertyMap.WithColumnName("ColumnName"));

            SplitCellValueReader  valueReader = Assert.IsType <SplitCellValueReader>(propertyMap.ColumnsReader);
            ColumnNameValueReader innerReader = Assert.IsType <ColumnNameValueReader>(valueReader.CellReader);

            Assert.Equal("ColumnName", innerReader.ColumnName);
        }
Beispiel #17
0
        public void Ctor_PropertyInfoMember_Success()
        {
            MemberInfo propertyInfo = typeof(ClassWithEvent).GetProperty(nameof(ClassWithEvent.Property));

            var propertyMap = new SubPropertyMap(propertyInfo);

            Assert.Same(propertyInfo, propertyMap.Member);

            var instance = new ClassWithEvent();

            propertyMap.SetPropertyFactory(instance, 10);
            Assert.Equal(10, instance.Property);
        }
Beispiel #18
0
        public void Ctor_FieldInfoMember_Success()
        {
            MemberInfo fieldInfo = typeof(ClassWithEvent).GetField(nameof(ClassWithEvent._field));

            var propertyMap = new SubPropertyMap(fieldInfo);

            Assert.Same(fieldInfo, propertyMap.Member);

            var instance = new ClassWithEvent();

            propertyMap.SetPropertyFactory(instance, 10);
            Assert.Equal(10, instance._field);
        }
Beispiel #19
0
        public void WithElementMap_ValidMap_Success()
        {
            MemberInfo propertyInfo = typeof(TestClass).GetProperty(nameof(TestClass.Value));
            var        elementMap   = new SingleExcelPropertyMap <string>(propertyInfo);

            var propertyMap = new SubPropertyMap(propertyInfo);

            Assert.Same(propertyMap, propertyMap.WithElementMap(e =>
            {
                Assert.Same(e, propertyMap.ElementMap);
                return(elementMap);
            }));
            Assert.Same(elementMap, propertyMap.ElementMap);
        }