Using testRPC the amount transferred is multiple times of the msg.value if a library call is involved.
There is bug report and it was raised here and here as well.
It's a well documented, long standing bug in testRPC and as of testRPC v4.0.1 it's still there.
Anyone was able to come up with a workaround?