Polarity error here:  The RNA is in the same frame as the DNA template.  Thus, this dictionary should be A -> A, C -> C, G -> G, T -> U.  But otherwise your code is consistent.