fix hour test
use instance variables to calculate amount
fix wrong calculation on calendar units given the same unit value but smaller rest