Example #1
0
        private void CreateColumns(TwoDAResource resource)
        {
            m_DataTable.Columns.Add(" ");

            for(int i=0;i<resource.Columns.Count;i++)
            { m_DataTable.Columns.Add(resource.Columns[i]); }
        }
Example #2
0
        public TwoDAResource Import(Stream stream)
        {
            var byteStream = CreateByteStream(stream);

            if(byteStream is EncryptedByteStream)
            { stream.Seek(2, SeekOrigin.Current); }

            var signature = GetSignature(byteStream.ReadUntilLineFound());
            if(!signature.Equals(Signature2DA, StringComparison.CurrentCultureIgnoreCase))
            { LoggingConfiguration.LogAndThrowError(new Exception("Invalid signature for 2DA file")); }

            var Created2DA = new TwoDAResource();
            Created2DA.DefaultValue = ConvertToDefaultValue(byteStream.ReadUntilLineFound());
            Created2DA.Columns = ConvertToColumns(byteStream.ReadUntilLineFound());

            var line = byteStream.ReadUntilLineFound();
            while(line.Length > 0)
            {
                if(line[0] == CommentFlag)
                { continue; }

                Created2DA.Rows.Add(ConvertToRow(line));
                line = byteStream.ReadUntilLineFound();
            }

            return Created2DA;
        }
Example #3
0
        private void Display2DAResource(TwoDAResource resource)
        {
            m_DataTable.Clear();
            m_DataTable.Columns.Clear();
            m_DataTable.Rows.Clear();

            CreateColumns(resource);
            CreateRows(resource);
        }
Example #4
0
        private void CreateRows(TwoDAResource resource)
        {
            for(int i=0;i<resource.Rows.Count;i++)
            {
                var dataRow = m_DataTable.NewRow();
                dataRow.SetField(0, resource.Rows[i].RowName);

                for(int j=1;j<resource.Rows[i].RowData.Count;j++)
                { dataRow.SetField(j, resource.Rows[i].RowData[j]); }

                m_DataTable.Rows.Add(dataRow);
            }
        }
Example #5
0
        public void should_correctly_read_well_structured_encrypted_stream()
        {
            var dummyStream = CreateWellStructured2DAStream(true);
            var plugin = new TwoDAPlugin(m_DummyEncryption);

            var expected2DA = new TwoDAResource();
            expected2DA.DefaultValue = "10";
            expected2DA.Columns = new List<string> { "col1", "col2", "col3", "col4" };
            expected2DA.Rows.Add(new TwoDARow("row1", new List<string> { "1", "2", "3", "4" }));
            expected2DA.Rows.Add(new TwoDARow("row2", new List<string> { "2", "4", "6", "8" }));
            expected2DA.Rows.Add(new TwoDARow("row3", new List<string> { "3", "6", "9", "12" }));

            var result = plugin.Import(dummyStream);

            Assert.That(result, Is.EqualTo(expected2DA));
        }