예제 #1
0
        public void TestGetProps()
        {
            var reporter = new ArrayReporter();
            var props    = _doc.GetProperties();

            Assert.IsNull(props);
        }
예제 #2
0
        public void TestGetBuilder()
        {
            var reporter = new ArrayReporter();
            var b1       = XD.Factory.GetXDBuilder(reporter, null);
            var b2       = XD.Factory.GetXDBuilder(null);

            Assert.IsNotNull(b1);
            Assert.IsNotNull(b2);
        }
예제 #3
0
        public void TestInvalid()
        {
            var reporter = new ArrayReporter();

            Assert.ThrowsException <RemoteCallException>(() =>
            {
                _doc.Xparse(new FilePath("xdefs/02_invalid.xml"), null);
            });
            _doc.Xparse(new FilePath("xdefs/02_invalid.xml"), reporter);
            Assert.IsTrue(reporter.Errors);
            Assert.IsTrue(reporter.ErrorCount > 0);
        }
예제 #4
0
        public void TestCreateInvalid()
        {
            var createInvalid = _poolCreate.CreateXDDocument();

            createInvalid.SetXDContext(File.ReadAllText("xdefs/03_invalid.xml"));
            var reporter = new ArrayReporter();
            var res      = createInvalid.Xcreate("A", reporter);
            var a        = reporter.Report;

            Assert.IsNotNull(res);
            Assert.IsNull(a);
        }
예제 #5
0
        public void x()
        {
            var pool          = XD.Factory.CompileXD(null, new FilePath("x-definition file path"));
            var doc           = pool.CreateXDDocument();
            var arrayReporter = new ArrayReporter();

            doc.Xparse(new FilePath("xml file path"), arrayReporter);
            if (arrayReporter.Errors)
            {
                // Chyba
            }
        }
예제 #6
0
 // Autogenerated method
 //  public static org.xdef.XDPool compileXD(org.xdef.sys.ReportWriter, java.util.Properties, java.lang.Object...) throws org.xdef.sys.SRuntimeException;
 /// <summary>Compile XDPool from source.</summary>
 /// <param name="reporter">the ReportWriter to be used for error reporting. Only array reporter supported due to bug in original library.</param>
 /// <param name="props">Properties or <tt>null</tt>.</param>
 /// <param name="parameters">list of sources, source pairs or external classes.</param>
 /// <returns>generated XDPool.</returns>
 /// <exception cref="RemoteCallException">if an error occurs.</exception>
 public XDPool CompileXD(ArrayReporter reporter, Utils.Properties props, params object[] parameters)
 {
     using (var builder = new BigEndianDataBuilder())
     {
         builder.Add(reporter.ObjectId);
         builder.Add(props);
         SerializeObjectSources(builder, parameters);
         var res = SendRequestWithResponse(new Request(FUNCTION_COMPILEXD_7, builder.Build(), ObjectId));
         using (var reader = res.Reader)
         {
             return(new XDPool(reader.ReadInt32(), _client));
         }
     }
 }
예제 #7
0
 // Autogenerated method
 // public abstract org.xdef.sys.ArrayReporter setTemporaryReporter(org.xdef.sys.ArrayReporter)
 /// <summary>Set new temporary reporter.</summary>
 /// <param name="reporter">new temporary reporter.</param>
 /// <returns>ArrayReporter old temporary reporter.</returns>
 public ArrayReporter SetTemporaryReporter(ArrayReporter reporter)
 {
     using (var builder = new BigEndianDataBuilder())
     {
         // Serialize args here
         builder.Add(reporter.ObjectId);
         var res = SendRequestWithResponse(new Request(FUNCTION_SETTEMPORARYREPORTER, builder.Build(), ObjectId));
         using (var reader = res.Reader)
         {
             // Read response here
             return(new ArrayReporter(reader.ReadInt32(), _client));
         }
     }
 }
예제 #8
0
        public void TestParse()
        {
            var res      = new List <XElement>();
            var reporter = new ArrayReporter();

            res.Add(_doc.Xparse(new FilePath(_validFile), reporter));
            res.Add(_doc.Xparse(File.ReadAllText(_validFile), reporter));
            using var stream = new FileStream(_validFile, FileMode.Open);
            res.Add(_doc.Xparse(stream, reporter));
            using (var mockServer = new MockServer(4444, "", (req, res, prm) => File.ReadAllText(_validFile)))
            {
                res.Add(_doc.Xparse(new Uri("http://localhost:4444"), reporter));
            }
            res.Add(_doc.Xparse(XDocument.Parse(File.ReadAllText(_validFile)).Root, reporter));
            using var stream2 = new FileStream(_validFile, FileMode.Open);
            res.Add(_doc.Xparse(stream2, null, reporter));
            res.Add(_doc.Xparse(File.ReadAllText(_validFile), null, reporter));
            Assert.IsTrue(res.All(p => res[0].ToString() == p.ToString()));
            Assert.IsFalse(reporter.Errors);
            Assert.AreEqual(reporter.ErrorCount, 0);
        }
예제 #9
0
        private void RunXdef(XDPool pool, string xmlFile)
        {
            var doc      = pool.CreateXDDocument();
            var reporter = new ArrayReporter();

            using (var stream = new FileStream(xmlFile, FileMode.Open))
            {
                var res = doc.Xparse(stream, reporter);
            }
            try
            {
                if (reporter.Errors)
                {
                    throw new Exception("ValidationError");
                }
            }
            catch (Exception ex)
            {
                Trace.WriteLine(reporter);
                Trace.WriteLine(ex);
                throw;
            }
        }
예제 #10
0
 public void TestCreate()
 {
     _docCreate.SetXDContext(XDocument.Parse(File.ReadAllText("xdefs/03_valid.xml")).Root);
     var reporter = new ArrayReporter();
     var res      = _docCreate.Xcreate("A", reporter);
 }