Before you replace it all try this:
Pull off the tub spout so you just have the piece of pipe coming out of wall.
Turn on and off both hot and cold valves, NOT TOO HARD 'cause it will shoot across tub and splash everywhere . See if a screw or something else foreign comes out of the line. Check inside new tub spout and then re-install tub spout.It is my guess that something is blocking the full flow to the tub spout.