private ConsoleTables.Core.ConsoleTable MakeTable(List <SummaryInfo> tableData) { var columnHeading = MakeRow("", tableData.Select(x => x.RoadName).ToList()); ConsoleTables.Core.ConsoleTable result = new ConsoleTables.Core.ConsoleTable(columnHeading); var startEndNodes = MakeRow("", tableData.Select(x => x.StartEndNodeIds)); var probabilities = MakeRow("Prob", tableData.Select(x => x.Probability.ToString())); var emptyRow = MakeRow("", tableData.Select(x => "")); var emissions = MakeRow("Emmission", tableData.Select(x => string.Format("{0} ({1} m)", x.EmissionProbability, x.EmissionDistance))); var transitions = MakeRow("Transition", tableData.Select(x => x.TransitionProbability.ToString())); var pOfFrom = MakeRow("P(From)", tableData.Select(x => x.PrevProbOfFrom.ToString())); var fromNames = MakeRow("From", tableData.Select(x => x.FromName)); var fromStartEndIds = MakeRow("", tableData.Select(x => x.FromStartEndIds)); result.AddRow(startEndNodes); result.AddRow(probabilities); result.AddRow(emptyRow); result.AddRow(emissions); result.AddRow(transitions); result.AddRow(pOfFrom); result.AddRow(fromNames); result.AddRow(fromStartEndIds); return(result); }