static void Main(string[] args) { Console.WriteLine("CONTABS .NET FRAMEWORK DEMO"); // Get some data (can be an IEnumerable of anything) var Data = DemoDataProvider.ListOfDemoData(); // Create a table object var table = Table <Planet> .Create(Data); /* * * Everything that follows is optional. * You could just skip to a Console.Writeline here. * */ // Set the style (and enable Unicode for the console table.TableStyle = Style.UnicodePipes; Console.OutputEncoding = Encoding.Unicode; // Hide the diameter column table.Columns["Diameter"].Hide = true; // Add a computed column for the radius table.Columns.AddGeneratedColumn <int, int>(d => d / 2, "Radius", table.Columns["Diameter"]); // Move the orbital period column next to the name table.Columns.MoveColumn("OrbitalPeriod", 1); // Rename the orbital period column table.Columns["OrbitalPeriod"].ColumnName = "Year length"; // Add a format string to orbital period table.Columns["Year length"].FormatString = "# days"; // Right-align the distance from sun column (and format it nicely) table.Columns["DistanceFromSun"].Alignment = Alignment.Right; table.Columns["DistanceFromSun"].FormatString = "###,###,###0 km"; // Handle the length of the fact table.Columns["Fact"].LongStringBehaviour = LongStringBehaviour.Wrap; table.Columns["Fact"].LongStringBehaviour.Width = 25; // Add some padding table.Padding = new Padding(1, 1); // Finally, spit out the finished table Console.WriteLine(table); Console.WriteLine("Press return to exit..."); Console.ReadLine(); }
static void Main(string[] args) { Console.WriteLine("CONTABS .NET FRAMEWORK DEMO"); var Data = DemoDataProvider.ListOfDemoData(); var table = Table <DemoDataType> .Create(Data); Console.WriteLine(table.ToString()); Console.WriteLine("Press return to exit..."); Console.ReadLine(); }
public void SingleInputColumn_WrongType_ShouldThrow() { // Arrange var data = DemoDataProvider.ListOfDemoData(); var table = Table <Planet> .Create(data); // Act TestDelegate testDelegate = () => table.Columns.AddGeneratedColumn <string, double>( (x) => 12d, "Twelve", table.Columns["Diameter"]); // Assert Assert.Throws <TypeMismatchException>(testDelegate).Message.ShouldBe("Computed column expected type 'String', but column 'Diameter' is of type 'Int32'."); }
static void Main(string[] args) { Console.WriteLine("CONTABS .NET FRAMEWORK DEMO"); var Data = DemoDataProvider.ListOfDemoData(); var table = Table <DemoDataType> .Create(Data); table.Padding = new Padding(2); table.HeaderAlignment = Alignment.Center; table.ColumnAlignment = Alignment.Right; Console.WriteLine(table.ToString()); Console.WriteLine("Press return to exit..."); Console.ReadLine(); }
public void ColumnGeneratedUsingInlineFunction() { // Arrange var data = DemoDataProvider.ListOfDemoData(); var table = Table <Planet> .Create(data); // Act table.Columns.AddGeneratedColumn <int, double>( (diameter) => diameter / 2, "Radius", table.Columns["Diameter"]); // Assert table.Columns.Count.ShouldBe(6); var radOfSat = (double)table.Columns["Radius"].Values[5]; radOfSat.ShouldBe(58232); }
public void ColumnGeneratedUsingLocalFunction() { // Arrange var data = DemoDataProvider.ListOfDemoData(); var table = Table <Planet> .Create(data); double CalculateCircumference(int diameter) { return(diameter * Math.PI / 2); } // Act table.Columns.AddGeneratedColumn <int, double>( CalculateCircumference, "Circumference", table.Columns[2]); // Assert table.Columns.Count.ShouldBe(6); var circOfMerc = Math.Round((double)table.Columns["Circumference"].Values[0], 0); circOfMerc.ShouldBe(7664); }