public PieceFactoryImplementation(GameObject piecePrefab, PieceDataSorter pieceSorter)
        {
            this.piecePrefab = piecePrefab;
            this.pieceSorter = pieceSorter;
            GridItem gridItem = this.piecePrefab.GetComponent <GridItem>();

            GridItemWidthInUnit  = gridItem.WidthInUnit;
            GridItemHeightInUnit = gridItem.HeightInUnit;
        }
        public void PieceIsCorrectlyRetrieved()
        {
            List <PieceData> pieceDataList = CreatePieceDataList(3);
            PieceDataSorter  pieceSorter   = CreatePieceDataSorter(pieceDataList);

            PieceData pieceData = pieceSorter.GetRandomPieceData();

            Assert.IsNotNull(pieceData);
        }
        public void EachTimeDataIsRetrievedItIsRemovedFromList()
        {
            List <PieceData> pieceDataList = CreatePieceDataList(3);
            PieceDataSorter  pieceSorter   = CreatePieceDataSorter(pieceDataList);

            PieceData retrievedPieceData = pieceSorter.GetRandomPieceData();

            Assert.IsFalse(pieceDataList.Contains(retrievedPieceData));
        }
        public void EachPieceDataTakenIsDifferent()
        {
            List <PieceData> pieceDataList = CreatePieceDataList(3);
            PieceDataSorter  pieceSorter   = CreatePieceDataSorter(pieceDataList);

            PieceData firstPieceData  = pieceSorter.GetRandomPieceData();
            PieceData secondPieceData = pieceSorter.GetRandomPieceData();

            Assert.AreNotEqual(firstPieceData, secondPieceData);
        }
        public void WhenPieceIsCreatedPieceDataIsRetrieved()
        {
            List <PieceData> pieceDataList   = CreatePieceDataList(3);
            PieceDataSorter  pieceDataSorter = CreatePieceDataSorter(pieceDataList);
            PieceFactory     pieceFactory    = CreatePieceFactory(pieceDataSorter);

            GameObject pieceObject = pieceFactory.Create();

            Assert.AreEqual(2, pieceDataList.Count);
        }
 public void Setup()
 {
     pieceDataSorter = CreateStubPieceDataSorter();
 }
        private PieceFactory CreatePieceFactory(PieceDataSorter pieceDataSorter)
        {
            GameObject piecePrefab = LoadPiecePrefab();

            return(new PieceFactoryImplementation(piecePrefab, pieceDataSorter));
        }
示例#8
0
        public void Construct()
        {
            List <PieceData> pieceDataList = new List <PieceData>(pieceDatas);

            pieceDataSorter = new PieceDataSorterImplementation(pieceDataList);
        }