public void TryFindReturnsNullIfNotPresent() { var f = new Mock<IXmlMappingEngineFactory>(); var s = new Mock<IXmlSchemaRegistry>(); var factory = new CompatibleXmlMappingEngineFactory(f.Object, s.Object); IXmlMappingEngine candidate; Assert.IsFalse(factory.TryFind("Css.V10_2", out candidate)); Assert.IsNull(candidate); }
public void FindReturnsLowerMinorVersion() { var f = new Mock<IXmlMappingEngineFactory>(); var s = new Mock<IXmlSchemaRegistry>(); var factory = new CompatibleXmlMappingEngineFactory(f.Object, s.Object); var engine = new Mock<IXmlMappingEngine>(); var e = engine.Object; f.Setup(x => x.TryFind("Css.V10", out e)).Returns(true); var candidate = factory.Find("Css.V10_2"); Assert.AreEqual(engine.Object, candidate); }
public void TryFindReturnsEngineIfPresent() { var f = new Mock<IXmlMappingEngineFactory>(); var s = new Mock<IXmlSchemaRegistry>(); var factory = new CompatibleXmlMappingEngineFactory(f.Object, s.Object); var engine = new Mock<IXmlMappingEngine>(); var e = engine.Object; f.Setup(x => x.TryFind("Css.V10_2", out e)).Returns(true); IXmlMappingEngine candidate; Assert.IsTrue(factory.TryFind("Css.V10_2", out candidate)); Assert.AreEqual(engine.Object, candidate); }
public void FindThrowsUnexpectedSchema() { var f = new Mock<IXmlMappingEngineFactory>(); var s = new Mock<IXmlSchemaRegistry>(); var factory = new CompatibleXmlMappingEngineFactory(f.Object, s.Object); try { factory.Find("Css.V10_2"); throw new NotImplementedException("Should throw XmlEngineResolutionException"); } catch (XmlEngineResolutionException ex) { Assert.AreEqual(XmlEngineResolutionErrorCode.UnexpectedSchema, ex.Code); } }
public void FindThrowsIfAsmStringInvalid() { var f = new Mock<IXmlMappingEngineFactory>(); var s = new Mock<IXmlSchemaRegistry>(); var factory = new CompatibleXmlMappingEngineFactory(f.Object, s.Object); s.Setup(x => x.SchemaExists("Css")).Returns(true); try { factory.Find("Css.V10.1"); throw new NotImplementedException("Should throw MappingException"); } catch (XmlEngineResolutionException ex) { Assert.AreEqual(XmlEngineResolutionErrorCode.Undetermined, ex.Code); } }
public void FindThrowsVersionTooHigh() { var f = new Mock<IXmlMappingEngineFactory>(); var s = new Mock<IXmlSchemaRegistry>(); var factory = new CompatibleXmlMappingEngineFactory(f.Object, s.Object); s.Setup(x => x.SchemaExists("Css")).Returns(true); var engine = new Mock<IXmlMappingEngine>(); var e = engine.Object; f.Setup(x => x.TryFind("Css.V9", out e)).Returns(true); try { factory.Find("Css.V10_2"); throw new NotImplementedException("Should throw XmlEngineResolutionException"); } catch (XmlEngineResolutionException ex) { Assert.AreEqual(XmlEngineResolutionErrorCode.MessageVersionTooHigh, ex.Code); } }