示例#1
0
        public void Rectangle2x3Test()
        {
            var rectangle = new LiskovSubstitutionPrinciple.Rectangle {
                Height = 2, Width = 3
            };
            var result = LiskovSubstitutionPrinciple.AreaCalculator.CalculateArea(rectangle);

            Assert.AreEqual(6, result);
        }
示例#2
0
        // Lsikov substituition Principle Example
        public static void LSP()
        {
            LiskovSubstitutionPrinciple.Rectangle rc = new LiskovSubstitutionPrinciple.Rectangle(2, 3);

            WriteLine($"{rc} has area {LiskovSubstitutionPrinciple.Area(rc)}");

            LiskovSubstitutionPrinciple.Square sq = new LiskovSubstitutionPrinciple.Square();
            sq.Width = 4;
            WriteLine($"{sq} has area {LiskovSubstitutionPrinciple.Area(sq)}");

            //Cause error if setters aren't override
            LiskovSubstitutionPrinciple.Rectangle sq2 = new LiskovSubstitutionPrinciple.Square();
            sq.Width = 4;
            WriteLine($"{sq2} has area {LiskovSubstitutionPrinciple.Area(sq2)}");
        }