Ejemplo n.º 1
0
        public void TestValidFile()
        {
            var df     = DataFile.From(Properties.Resources.simple_layout);
            var result = SpecFile.Parse(df);

            Assert.False(string.IsNullOrEmpty(result.ToString()));
            Assert.Equal("bender.v1", result.Format);
            Assert.Equal("simple_layout", result.Name);
            Assert.Equal("A simple sample binary layout descriptor that can span multiple lines\n", result.Description);
            Assert.Equal(new List <string> {
                "test", "simple"
            }, result.Extensions);
            Assert.Equal(9, result.Elements.Count);

            var el = new Element
            {
                IsLittleEndian = true,
                Elide          = false,
                PrintFormat    = Bender.PrintFormat.Ascii,
                Units          = 4,
                Name           = "Undefined",
                Matrix         = null,
                IsSigned       = false
            };

            Assert.Equal(el.IsLittleEndian, result.BaseElement.IsLittleEndian);
            Assert.Equal(el.Elide, result.BaseElement.Elide);
            Assert.Equal(el.PrintFormat, result.BaseElement.PrintFormat);
            Assert.Equal(el.Units, result.BaseElement.Units);
            Assert.Equal(el.Name, result.BaseElement.Name);
            Assert.Equal(el.Matrix, result.BaseElement.Matrix);
            Assert.Equal(el.IsSigned, result.BaseElement.IsSigned);

            Assert.False(string.IsNullOrEmpty(el.ToString()));
        }
Ejemplo n.º 2
0
        public void TestParseMatchingSpec()
        {
            var spec   = SpecFile.Parse(DataFile.FromAscii(TestData.SimpleTest));
            var bender = new BinaryParser(spec).Parse(DataFile.From(Properties.Resources.simple_layout_binary));

            Assert.NotNull(bender);
        }
Ejemplo n.º 3
0
        public void TestParseDeferred()
        {
            var spec   = SpecFile.Parse(DataFile.FromAscii(TestData.TestDeferred));
            var bender = new BinaryParser(spec).Parse(DataFile.From(Properties.Resources.test_deferred_binary));

            Assert.NotNull(bender);
        }
Ejemplo n.º 4
0
        public void TestInvalidFile()
        {
            var df = DataFile.FromAscii(TestData.TestInvalidYAML);

            Assert.Throws <ParseException>(() => SpecFile.Parse(df));
        }