public void LetterTileCountTest()
        {
            LetterTileRack ltr = new LetterTileRack();
            Assert.IsTrue(ltr.LetterTileCount() == 0);

            LetterTile lt = new LetterTile('A', 1);

            ltr.InsertLetterTile(lt);
            Assert.IsTrue(ltr.LetterTileCount() == 1);

            ltr.InsertLetterTile(lt);
            ltr.InsertLetterTile(lt);
            ltr.InsertLetterTile(lt);
            ltr.InsertLetterTile(lt);
            ltr.InsertLetterTile(lt);
            ltr.InsertLetterTile(lt);
            Assert.IsTrue(ltr.LetterTileCount() == 7);

            ltr.PopLetterTile(5);
            Assert.IsTrue(ltr.LetterTileCount() == 6);
        }
        public void TestPopTile()
        {
            LetterTileRack ltr = new LetterTileRack();
            LetterTile lt = new LetterTile('A', 1);

            ltr.InsertLetterTile(lt);

            bool exceptionWasThrown = false;
            try
            {
                ltr.PopLetterTile(new LetterTile('E', 1));
            }
            catch
            {
                exceptionWasThrown = true;
            }
            Assert.IsTrue(exceptionWasThrown);
        }
        public void PopLetterTileTest()
        {
            LetterTileRack ltr = new LetterTileRack();

            LetterTile lt = new LetterTile('A', 1);

            ltr.InsertLetterTile(lt);
            ltr.InsertLetterTile(lt);
            ltr.InsertLetterTile(lt);

            Assert.IsTrue(ltr.LetterTileCount() == 3);

            LetterTile lt2 = ltr.PopLetterTile(2);
            Assert.IsTrue(ltr.LetterTileCount() == 2);
            Assert.IsTrue(lt2.Equals(lt));

            bool exceptionWasThrown = false;
            try
            {
                ltr.PopLetterTile(-1);
            } catch(LetterTileRack.InvalidLetterTileAccessException)
            {
                exceptionWasThrown = true;
            }

            Assert.IsTrue(exceptionWasThrown);
            exceptionWasThrown = false;

            try
            {
                ltr.PopLetterTile(2);
            }
            catch (LetterTileRack.InvalidLetterTileAccessException)
            {
                exceptionWasThrown = true;
            }

            Assert.IsTrue(exceptionWasThrown);
            exceptionWasThrown = false;
        }