Combining the Characteristic Basis Function Method with rooftops and razor-blade testing functions over NURBS patches