public void NullPiece()
        {
            var sut = new AllPiecesConnectionValidator();
            
            var validForSelection = sut.ValidForSelection(null);

            Assert.IsFalse(validForSelection);
        }
        public void InactivePiece()
        {
            var sut = new AllPiecesConnectionValidator();

            var piece = TestHelpers.CreatePiece(0, 0, false);

            var validForSelection = sut.ValidForSelection(piece);

            Assert.IsFalse(validForSelection);
        }
        public void LerpInProgress()
        {
            var sut = new AllPiecesConnectionValidator();

            var go = new GameObject();
            var piece = go.AddComponent<SquarePiece>();
            go.AddComponent<LerpInProgress>();

            var validForSelection = sut.ValidForSelection(piece);

            Assert.IsFalse(validForSelection);
        }
        public void ToBeDestroyed()
        {
            var sut = new AllPiecesConnectionValidator();

            var go = new GameObject();
            var piece = go.AddComponent<SquarePiece>();
            piece.DestroyPieceHandler = new DestroyTriggerFall(piece);
            piece.DestroyPieceHandler.NotifyOfDestroy();

            var validForSelection = sut.ValidForSelection(piece);

            Assert.IsFalse(validForSelection);
        }
        public void ValidSelection()
        {
            var sut = new AllPiecesConnectionValidator();

            var go = new GameObject();
            var piece = go.AddComponent<SquarePiece>();
            go.AddComponent<LerpNotInProgress>();
            piece.DestroyPieceHandler = new LockedSwap(piece);
            piece.DestroyPieceHandler.NotifyOfDestroy();

            var validForSelection = sut.ValidForSelection(piece);

            Assert.IsTrue(validForSelection);
        }