public void TestDefaultEndianExprIsBe()
        {
            var r = DefaultEndianExprIsBe.FromFile(SourceFile("endian_expr.bin"));

            // LE
            Assert.AreEqual(r.Docs[0].Indicator, new byte[] { 0x49, 0x49 });
            Assert.AreEqual(r.Docs[0].Main.SomeInt, 0x42);
            Assert.AreEqual(r.Docs[0].Main.SomeIntBe, 0x42);
            Assert.AreEqual(r.Docs[0].Main.SomeIntLe, 0x42);

            Assert.AreEqual(r.Docs[0].Main.InstInt, 0x42);
            Assert.AreEqual(r.Docs[0].Main.InstSub.Foo, 0x42);

            // BE
            Assert.AreEqual(r.Docs[1].Indicator, new byte[] { 0x4d, 0x4d });
            Assert.AreEqual(r.Docs[1].Main.SomeInt, 0x42);
            Assert.AreEqual(r.Docs[1].Main.SomeIntBe, 0x42);
            Assert.AreEqual(r.Docs[1].Main.SomeIntLe, 0x42);

            Assert.AreEqual(r.Docs[1].Main.InstInt, 0x42000000);
            Assert.AreEqual(r.Docs[1].Main.InstSub.Foo, 0x42000000);

            // Weird => LE
            Assert.AreEqual(r.Docs[2].Indicator, new byte[] { 0x58, 0x58 });
            Assert.AreEqual(r.Docs[2].Main.SomeInt, 0x42000000);
            Assert.AreEqual(r.Docs[2].Main.SomeIntBe, 0x42);
            Assert.AreEqual(r.Docs[2].Main.SomeIntLe, 0x42);

            Assert.AreEqual(r.Docs[2].Main.InstInt, 0x42);
            Assert.AreEqual(r.Docs[2].Main.InstSub.Foo, 0x42);
        }
 public SubMainObj(KaitaiStream p__io, DefaultEndianExprIsBe.Doc.MainObj p__parent = null, DefaultEndianExprIsBe p__root = null, bool?isLe = null) : base(p__io)
 {
     m_parent = p__parent;
     m_root   = p__root;
     m_isLe   = isLe;
     _read();
 }
 public MainObj(KaitaiStream p__io, DefaultEndianExprIsBe.Doc p__parent = null, DefaultEndianExprIsBe p__root = null) : base(p__io)
 {
     m_parent  = p__parent;
     m_root    = p__root;
     f_instInt = false;
     f_instSub = false;
     _read();
 }
示例#4
0
        public void TestDefaultEndianExprIsBe()
        {
            var r = DefaultEndianExprIsBe.FromFile(SourceFile("endian_expr.bin"));

            Assert.AreEqual(r.Docs[0].Indicator, new byte[] { 73, 73 });
            Assert.AreEqual(r.Docs[0].Main.SomeInt, 66);
            Assert.AreEqual(r.Docs[0].Main.SomeIntBe, 66);
            Assert.AreEqual(r.Docs[0].Main.SomeIntLe, 66);
            Assert.AreEqual(r.Docs[0].Main.InstInt, 66);
            Assert.AreEqual(r.Docs[0].Main.InstSub.Foo, 66);
            Assert.AreEqual(r.Docs[1].Indicator, new byte[] { 77, 77 });
            Assert.AreEqual(r.Docs[1].Main.SomeInt, 66);
            Assert.AreEqual(r.Docs[1].Main.SomeIntBe, 66);
            Assert.AreEqual(r.Docs[1].Main.SomeIntLe, 66);
            Assert.AreEqual(r.Docs[1].Main.InstInt, 1107296256);
            Assert.AreEqual(r.Docs[1].Main.InstSub.Foo, 1107296256);
            Assert.AreEqual(r.Docs[2].Indicator, new byte[] { 88, 88 });
            Assert.AreEqual(r.Docs[2].Main.SomeInt, 1107296256);
            Assert.AreEqual(r.Docs[2].Main.SomeIntBe, 66);
            Assert.AreEqual(r.Docs[2].Main.SomeIntLe, 66);
            Assert.AreEqual(r.Docs[2].Main.InstInt, 66);
            Assert.AreEqual(r.Docs[2].Main.InstSub.Foo, 66);
        }
 public Doc(KaitaiStream p__io, DefaultEndianExprIsBe p__parent = null, DefaultEndianExprIsBe p__root = null) : base(p__io)
 {
     m_parent = p__parent;
     m_root   = p__root;
     _read();
 }
 public DefaultEndianExprIsBe(KaitaiStream p__io, KaitaiStruct p__parent = null, DefaultEndianExprIsBe p__root = null) : base(p__io)
 {
     m_parent = p__parent;
     m_root   = p__root ?? this;
     _read();
 }