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]); } }
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; }
private void Display2DAResource(TwoDAResource resource) { m_DataTable.Clear(); m_DataTable.Columns.Clear(); m_DataTable.Rows.Clear(); CreateColumns(resource); CreateRows(resource); }
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); } }
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)); }