public void WhenReadFromStreamMethodIsCalledWithUnpositionedStreamTheReaderMustCallStreamSeekMethod() { var fakeFs = A.Fake <IFileSystem>(); var fakeMsf = A.Fake <IMemoryStreamFactory>(); var fakeStream = A.Fake <System.IO.MemoryStream>(); A.CallTo(() => fakeStream.CanRead).Returns(true); A.CallTo(() => fakeStream.Length).Returns(1); A.CallTo(() => fakeStream.Position).Returns(1); A.CallTo(() => fakeStream.Seek(0, System.IO.SeekOrigin.Begin)).Returns(0); var readerclass = new XmlSchemaReader(fakeFs, fakeMsf); try { readerclass.ReadFromStream(fakeStream); } #pragma warning disable CC0004 // Catch block cannot be empty catch (Exception) { // do nothing } #pragma warning restore CC0004 // Catch block cannot be empty A.CallTo(() => fakeStream.Seek(0, System.IO.SeekOrigin.Begin)).MustHaveHappened(); }
public void WhenUsingNullPathTheReaderMustThrowArgumentException() { var readerclass = new XmlSchemaReader(new FileSystem(), new MemoryStreamFactory()); readerclass.ReadFromPath(null); Assert.Fail("Should not reach this point."); }
public void WhenUsingNullByteArrayTheReaderMustThrowArgumentNullException() { var readerclass = new XmlSchemaReader(new FileSystem(), new MemoryStreamFactory()); const byte[] array = null; readerclass.ReadFromByteArray(array); Assert.Fail("Should not reach this point."); }
public void WhenFileSystemThrowsExceptionTheReaderMustThrowInvalidOperationException() { var fakeFs = A.Fake <IFileSystem>(); var fakeMsf = A.Fake <IMemoryStreamFactory>(); A.CallTo(() => fakeFs.File.Exists(string.Empty)).Returns(true); A.CallTo(() => fakeFs.FileStream.Create(string.Empty, System.IO.FileMode.Open)).Throws <Exception>(); var readerclass = new XmlSchemaReader(fakeFs, fakeMsf); readerclass.ReadFromPath(string.Empty); Assert.Fail("Should not reach this point."); }
public void WhenReadFromStreamMethodIsCalledWithNonReadableStreamTheReaderMustThrowArgumentException() { var fakeFs = A.Fake <IFileSystem>(); var fakeMsf = A.Fake <IMemoryStreamFactory>(); var fakeStream = A.Fake <System.IO.MemoryStream>(); A.CallTo(() => fakeStream.CanRead).Returns(false); var readerclass = new XmlSchemaReader(fakeFs, fakeMsf); readerclass.ReadFromStream(fakeStream); Assert.Fail("Should not reach this point."); }
public void WhenMemoryStreamFactoryThrowsExceptionTheReaderMustThrowInvalidOperationException() { var fakeFs = A.Fake <IFileSystem>(); var fakeMemoryFactory = A.Fake <IMemoryStreamFactory>(); var array = new byte[1] { Convert.ToByte(true) }; A.CallTo(() => fakeMemoryFactory.Create(array, false)).WithAnyArguments().Throws <Exception>(); var readerclass = new XmlSchemaReader(fakeFs, fakeMemoryFactory); readerclass.ReadFromByteArray(array); Assert.Fail("Should not reach this point."); }
static void Main(string[] args) { var schemaReader = new XmlSchemaReader(); var schemaset = new XmlSchemaSet(); schemaset.Add(schemaReader.ReadFromPath("CustomersOrders.xsd")); ValidationFinishedEventArgs result; using (var parser = new XmlParser()) { parser.NodeRead += async(s, e, c) => { await Task.Run(() => { if (e.Node.GetType() == typeof(OrderType)) { var order = (OrderType)e.Node; Console.WriteLine($"Customer ID: {order.CustomerID}, Order date: {order.OrderDate.ToShortDateString()}"); } else { var customer = (CustomerType)e.Node; Console.WriteLine($"Customer ID: {customer.CustomerID}, Company Name: {customer.CompanyName}"); } }); }; result = parser.ParseXmlFileFromFileAsync( filePath: "CustomersOrders.xml", schemaSet: schemaset, returnErrorListAtTheEndOfTheProcess: true, types: new Type[] { typeof(OrderType), typeof(CustomerType) } ).Result; } Console.WriteLine($"Error count: {result.ErrorCount}"); Console.WriteLine($"Nodes read: {result.ParsedNodeCount}"); Console.WriteLine($"Elapsed time: {result.ElapsedTime.ToString()}"); Console.ReadLine(); }
public WFSFeatureClass(WFSDataset dataset, string name, WMSClass.SRS srs) { _dataset = dataset; _name = name; _srs = srs; if (_srs.Srs.Count > 0) { _sRef = gView.Framework.Geometry.SpatialReference.FromID(_srs.Srs[_srs.SRSIndex]); } try { string param = "VERSION=1.0.0&REQUEST=DescribeFeatureType&TYPENAME=" + _name; if (_dataset._decribeFeatureType.Get_OnlineResource.IndexOf("&SERVICE=") == -1 && _dataset._decribeFeatureType.Get_OnlineResource.IndexOf("?SERVICE=") == -1) { param = "SERVICE=WFS&" + param; } string url = WMSDataset.Append2Url(_dataset._decribeFeatureType.Get_OnlineResource, param); string response = WebFunctions.HttpSendRequest(url, "GET", null); response = WMSDataset.RemoveDOCTYPE(response); XmlDocument schema = new XmlDocument(); schema.LoadXml(response); XmlSchemaReader schemaReader = new XmlSchemaReader(schema); _targetNamespace = schemaReader.TargetNamespaceURI; if (_targetNamespace == String.Empty) { return; } _fields = schemaReader.ElementFields(name, out _shapefieldName, out _geomtype); // Id Feld suchen foreach (IField field in _fields.ToEnumerable()) { if (field.type == FieldType.ID) { _idFieldname = field.name; break; } } // passendes feld suchen... //if (_idFieldname == String.Empty) //{ // foreach (IField field in _fields) // { // if (!(field is Field)) continue; // switch (field.name.ToLower()) // { // case "fdb_oid": // case "oid": // case "fid": // case "objectid": // case "featureid": // case "ogc_fid": // ((Field)field).type = FieldType.ID; // _idFieldname = field.name; // break; // } // if (_idFieldname != String.Empty) break; // } //} } catch { } }