Bo..I have to have my vehicle checked for emmissions and mechanical defects every year,in addition to registration.That amounts to over 120 bucks.
The engine light usually comes on if you have a defective oxygen sensor,or just a lose wire,I'm glad you met an honest machanic.Here is Staten Island,the're like hens teeth.My usual guy,retired,and sold the business to a thief.The standard labor charge in NY city is 85 dollars and hour.
Mechanics in NY state,are required to give you back your old/defective parts when they complete the work,should you ask for them,as proof,that they actually replaced the part.
This thief,had a small dumpster in the back of the shop,where he stored some replaced parts,so if some one asked for them back,he could just dig something out.
Often times,you may not need a new battery or starter or alternator or fuel pump.Lots of times it's just a lose wire.This guy was just spray painting the part,while it was still in the car,connecting the lose wire,and charging you for a new part...plus 2 hours labor.
Not a bad profit.It cost about 2.75 for a can of paint,and about 10 minutes to clean and paint the old part.
Steve B