Since $2000 and $2005 contents fail, take a look at common/test_bg_spr.inc. test_2000 and test_2005 are the entry points. After setting appropriate registers (and leaving the tested one unmodified), they set up VRAM, setup a single sprite that has one pixel within a background that has a one-pixel "hole", and test for collision at two positions. The VRAM setup is the only tricky part, where it never writes to PPUADDR ($2006), only PPUDATA ($2007). It writes $4000 bytes of data so that all areas of VRAM/palette get initialized, leaving PPUADDR at whatever it was when the routine started.
Here's a modified version of the test that makes the operation visible:
2000_contents_fx3.nes.zip
Magnified, you get two frames like this, where the sprite falls in the hole in the first frame, so there's no hit, then hits the background when it moves left one pixel: