public void WithClassMap_NullClassMapFactory_ThrowsArgumentNullException()
        {
            MemberInfo propertyInfo = typeof(TestClass).GetProperty(nameof(TestClass.Value));
            var        propertyMap  = new ObjectExcelPropertyMap <string>(propertyInfo, new ExcelClassMap <string>());

            Assert.Throws <ArgumentNullException>("classMapFactory", () => propertyMap.WithClassMap((Action <ExcelClassMap <string> >)null));
        }
        public void WithClassMap_ClassMap_ReturnsExpected()
        {
            var        classMap     = new ExcelClassMap <string>();
            MemberInfo propertyInfo = typeof(TestClass).GetProperty(nameof(TestClass.Value));

            var propertyMap = new ObjectExcelPropertyMap <string>(propertyInfo, new ExcelClassMap <string>());

            Assert.Same(propertyMap, propertyMap.WithClassMap(classMap));
            Assert.Same(classMap, propertyMap.ClassMap);
        }
        public void WithClassMap_ClassMapFactory_ReturnsExpected()
        {
            bool       calledClassMapFactory = false;
            MemberInfo propertyInfo          = typeof(TestClass).GetProperty(nameof(TestClass.Value));
            var        propertyMap           = new ObjectExcelPropertyMap <string>(propertyInfo, new ExcelClassMap <string>());
            Action <ExcelClassMap <string> > classMapFactory = classMap =>
            {
                calledClassMapFactory = true;
                Assert.Same(classMap, propertyMap.ClassMap);
            };

            Assert.Same(propertyMap, propertyMap.WithClassMap(classMapFactory));
            Assert.True(calledClassMapFactory);
        }