Ejemplo n.º 1
0
        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();
        }
Ejemplo n.º 2
0
        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();
        }
Ejemplo n.º 3
0
        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'.");
        }
Ejemplo n.º 4
0
        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();
        }
Ejemplo n.º 5
0
        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);
        }
Ejemplo n.º 6
0
        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);
        }