Beispiel #1
0
 public void CopyFrom_Should_Copy_Colors_From_UpperLayer_To_LowerLayer()
 {
     TetrisCup upperLayer = new TetrisCup(2, 2, new[] { new Point(1, 0) });
     TetrisCup lowerLayer = new TetrisCup(2, 2, new Point[] { });
     lowerLayer.CopyFrom(upperLayer, new Offset(0, 0), 42);
     lowerLayer.GetColorOfPoint(new Point(1, 0)).Should().Be(42);
     lowerLayer.GetColorOfPoint(new Point(0, 0)).Should().Be(0);
     lowerLayer.GetColorOfPoint(new Point(0, 1)).Should().Be(0);
     lowerLayer.GetColorOfPoint(new Point(1, 1)).Should().Be(0);
 }
Beispiel #2
0
        public void CopyFrom_Should_Copy_Colors_From_UpperLayer_To_LowerLayer()
        {
            TetrisCup upperLayer = new TetrisCup(2, 2, new[] { new Point(1, 0) });
            TetrisCup lowerLayer = new TetrisCup(2, 2, new Point[] { });

            lowerLayer.CopyFrom(upperLayer, new Offset(0, 0), 42);
            lowerLayer.GetColorOfPoint(new Point(1, 0)).Should().Be(42);
            lowerLayer.GetColorOfPoint(new Point(0, 0)).Should().Be(0);
            lowerLayer.GetColorOfPoint(new Point(0, 1)).Should().Be(0);
            lowerLayer.GetColorOfPoint(new Point(1, 1)).Should().Be(0);
        }
Beispiel #3
0
 public void Clone_Should_Copy_Colors()
 {
     ITetrisCup tetrisCup = new TetrisCup(2, 2,
         new[] { new Point(0, 1), new Point(1, 0) });
     tetrisCup = tetrisCup.Clone(9);
     var cloneTetrisCup = tetrisCup.Clone(9);
     cloneTetrisCup.GetColorOfPoint(new Point(0, 1)).Should().Be(tetrisCup.GetColorOfPoint(new Point(0, 1)));
     cloneTetrisCup.GetColorOfPoint(new Point(1, 0)).Should().Be(tetrisCup.GetColorOfPoint(new Point(1, 0)));
     cloneTetrisCup.GetColorOfPoint(new Point(0, 0)).Should().Be(0);
     cloneTetrisCup.GetColorOfPoint(new Point(1, 1)).Should().Be(0);
 }
Beispiel #4
0
        public void CopyFrom_When_Cell_In_UpperLayer_Is_Empty_Should_Not_Reset_LowerLayer_Cell()
        {
            TetrisCup upperLayer = new TetrisCup(2, 2, new[] { new Point(1, 0) });
            TetrisCup lowerLayer = new TetrisCup(2, 2, new Point[] { new Point(1, 1) });

            lowerLayer.CopyFrom(upperLayer, new Offset(0, 0), 42);
            lowerLayer.GetColorOfPoint(new Point(1, 0)).Should().Be(42);
            lowerLayer.GetColorOfPoint(new Point(0, 0)).Should().Be(0);
            lowerLayer.GetColorOfPoint(new Point(0, 1)).Should().Be(0);
            //CopyFrom не трогает то, что уже было нарисовано в нижней чашке.
            lowerLayer.GetColorOfPoint(new Point(1, 1)).Should().Be(-1);
        }
Beispiel #5
0
        public void Clone_Should_Copy_Colors()
        {
            ITetrisCup tetrisCup = new TetrisCup(2, 2,
                                                 new[] { new Point(0, 1), new Point(1, 0) });

            tetrisCup = tetrisCup.Clone(9);
            var cloneTetrisCup = tetrisCup.Clone(9);

            cloneTetrisCup.GetColorOfPoint(new Point(0, 1)).Should().Be(tetrisCup.GetColorOfPoint(new Point(0, 1)));
            cloneTetrisCup.GetColorOfPoint(new Point(1, 0)).Should().Be(tetrisCup.GetColorOfPoint(new Point(1, 0)));
            cloneTetrisCup.GetColorOfPoint(new Point(0, 0)).Should().Be(0);
            cloneTetrisCup.GetColorOfPoint(new Point(1, 1)).Should().Be(0);
        }
Beispiel #6
0
        public void GetColorOfPoint_Shoud_Return_Color_Of_Given_Point()
        {
            TetrisCup tetrisCup = new TetrisCup(10, 20,
                                                new[] { new Point(1, 2) });

            Assert.AreEqual(0, tetrisCup.GetColorOfPoint(new Point(0, 0)));
        }
Beispiel #7
0
        public void How_To_Work()
        {
            TetrisCup tetrisCup = new TetrisCup(10, 20,
                                                new[] { new Point(3, 4), new Point(4, 3) });

            Assert.AreEqual(-1, tetrisCup.GetColorOfPoint(new Point(3, 4)));
            var clone = tetrisCup.Clone(5);
        }
Beispiel #8
0
        public void EraseLine_Should_Reset_All_Cells_In_Line_And_Shift_Others_Down()
        {
            TetrisCup cup = new TetrisCup(2, 3, new[] { new Point(0, 0), new Point(1, 0), new Point(1, 1), new Point(1, 2), new Point(0, 2) });

            cup.EraseLine(0);
            cup.EraseLine(2);
            cup.GetColorOfPoint(new Point(0, 0)).Should().Be(0);
            cup.GetColorOfPoint(new Point(1, 0)).Should().Be(0);
            cup.GetColorOfPoint(new Point(0, 1)).Should().Be(0);
            cup.GetColorOfPoint(new Point(1, 1)).Should().Be(0);
            cup.GetColorOfPoint(new Point(0, 2)).Should().Be(0);
            cup.GetColorOfPoint(new Point(1, 2)).Should().Be(-1);
        }
Beispiel #9
0
 public void CopyFrom_When_Cell_In_UpperLayer_Is_Empty_Should_Not_Reset_LowerLayer_Cell()
 {
     TetrisCup upperLayer = new TetrisCup(2, 2, new[] { new Point(1, 0) });
     TetrisCup lowerLayer = new TetrisCup(2, 2, new Point[] { new Point(1, 1) });
     lowerLayer.CopyFrom(upperLayer, new Offset(0, 0), 42);
     lowerLayer.GetColorOfPoint(new Point(1, 0)).Should().Be(42);
     lowerLayer.GetColorOfPoint(new Point(0, 0)).Should().Be(0);
     lowerLayer.GetColorOfPoint(new Point(0, 1)).Should().Be(0);
     //CopyFrom не трогает то, что уже было нарисовано в нижней чашке.
     lowerLayer.GetColorOfPoint(new Point(1, 1)).Should().Be(-1);
 }
Beispiel #10
0
 public void How_To_Work()
 {
     TetrisCup tetrisCup = new TetrisCup(10, 20,
         new[] { new Point(3, 4), new Point(4, 3) });
     Assert.AreEqual(-1, tetrisCup.GetColorOfPoint(new Point(3, 4)));
     var clone = tetrisCup.Clone(5);
 }
Beispiel #11
0
 public void GetColorOfPoint_Shoud_Return_Color_Of_Given_Point()
 {
     TetrisCup tetrisCup = new TetrisCup(10, 20,
         new[] { new Point(1, 2) });
     Assert.AreEqual(0, tetrisCup.GetColorOfPoint(new Point(0, 0)));
 }
Beispiel #12
0
 public void EraseLine_Should_Reset_All_Cells_In_Line_And_Shift_Others_Down()
 {
     TetrisCup cup = new TetrisCup(2, 3, new[] { new Point(0, 0), new Point(1, 0), new Point(1, 1), new Point(1, 2), new Point(0, 2) });
     cup.EraseLine(0);
     cup.EraseLine(2);
     cup.GetColorOfPoint(new Point(0, 0)).Should().Be(0);
     cup.GetColorOfPoint(new Point(1, 0)).Should().Be(0);
     cup.GetColorOfPoint(new Point(0, 1)).Should().Be(0);
     cup.GetColorOfPoint(new Point(1, 1)).Should().Be(0);
     cup.GetColorOfPoint(new Point(0, 2)).Should().Be(0);
     cup.GetColorOfPoint(new Point(1, 2)).Should().Be(-1);
 }