Beispiel #1
0
        public void TlkToText(bool fromZero)
        {
            var    bytes    = System.IO.File.ReadAllBytes("..\\..\\..\\test files\\test.tlk");
            var    tlk      = TlkParser.BytesToTlk(bytes);
            var    text     = TlkParser.TlkToText(tlk, fromZero);
            var    offset   = fromZero ? 0 : 2 << 23;
            string expected = $"{0+offset} := dummy\n{1+offset} := yummy\n{2+offset} := entry";

            Assert.Equal(expected, text);
        }
Beispiel #2
0
        public void InvalidTlk(string fileName)
        {
            var bytes = System.IO.File.ReadAllBytes($"..\\..\\..\\test files\\{fileName}");

            try
            {
                TlkParser.BytesToTlk(bytes);
                Assert.True(false);
            }
            catch (ArgumentException)
            {
                Assert.True(true);
            }
        }
Beispiel #3
0
        public void ValidTlk()
        {
            var bytes = System.IO.File.ReadAllBytes("..\\..\\..\\test files\\test.tlk");
            var tlk   = TlkParser.BytesToTlk(bytes);

            Assert.Equal(3, tlk.StringCount);
            Assert.Equal("dummy", tlk.StringEntryTable[0]);
            Assert.Equal("yummy", tlk.StringEntryTable[1]);
            Assert.Equal("entry", tlk.StringEntryTable[2]);
            Assert.Equal(140, tlk.StringEntriesOffset);
            Assert.Equal(0, tlk.StringDataTable[0].OffsetToString);
            Assert.Equal(5, tlk.StringDataTable[0].StringSize);
            Assert.Equal(5, tlk.StringDataTable[1].OffsetToString);
            Assert.Equal(5, tlk.StringDataTable[1].StringSize);
            Assert.Equal(10, tlk.StringDataTable[2].OffsetToString);
            Assert.Equal(5, tlk.StringDataTable[2].StringSize);
        }
Beispiel #4
0
        public void TlkToBytes()
        {
            var expected = System.IO.File.ReadAllBytes("..\\..\\..\\test files\\test.tlk");
            var tlkE     = TlkParser.BytesToTlk(expected);
            var tlk      = new Tlk(0, 3, 140,
                                   new List <StringDataElement>
            {
                new StringDataElement
                {
                    Flags          = 1,
                    OffsetToString = 0,
                    StringSize     = 5
                },
                new StringDataElement
                {
                    Flags          = 1,
                    OffsetToString = 5,
                    StringSize     = 5
                },
                new StringDataElement
                {
                    Flags          = 1,
                    OffsetToString = 10,
                    StringSize     = 5
                }
            },
                                   new List <string>
            {
                "dummy",
                "yummy",
                "entry"
            }
                                   );
            var bytes = TlkParser.TlkToBytes(tlk);

            Assert.Equal(expected, bytes);
        }