Hi Rice,
I have not looked at the FIFO example as someone else developed it.
With a FIFO, the data flowing through it should be checked at the output. Checking these sort of things generally requires some sort of Scoreboard.
In our class, Advanced VHDL Testbenches and Verification, we have a separate example of a FIFO that does indeed use a scoreboard.
Best Regards,
Jim