예제 #1
0
        public void TestBuildMapper__CantBuild()
        {
            IValueParseMap           parseMap = Substitute.For <IValueParseMap>();
            ValueScalarMapperBuilder builder  = new ValueScalarMapperBuilder("foo", typeof(DummyClass), parseMap);

            parseMap.CanParse(typeof(DummyClass)).Returns(false);

            Assert.Throws <InvalidOperationException>(() => builder.BuildMapper());
        }
예제 #2
0
        public void TestBuildMapper()
        {
            IValueParseMap           parseMap = Substitute.For <IValueParseMap>();
            ValueScalarMapperBuilder builder  = new ValueScalarMapperBuilder("foo", typeof(DummyClass), parseMap);

            IValueParser parser = Substitute.For <IValueParser>();

            parseMap.CanParse(typeof(DummyClass)).Returns(true);
            parseMap.GetParser(typeof(DummyClass)).Returns(parser);

            ValueScalarMapper mapper = Assert.IsType <ValueScalarMapper>(builder.BuildMapper());

            parseMap.Received().GetParser(typeof(DummyClass));

            Assert.Equal("foo", mapper.name);
            Assert.Same(parser, mapper.parser);
        }