human
I wrote the below code

    c1 = TCoo1(ra=(1 * u.deg), dec=(2 * u.deg))
    @frame_transform_graph.transform(t.FunctionTransform, TCoo1, TCoo2)
    def trans(coo1, f):
        return TCoo2(ra=coo1.ra, dec=(coo1.dec * 2))
    c2 = c1.transform_to(TCoo2)
    assert_allclose(c2.ra.degree, 1)
    assert_allclose(c2.dec.degree, 4)
    c3 = TCoo1(r.CartesianRepresentation(x=(1 * u.pc), y=(1 * u.pc), z=(2 * u.pc)))
    @frame_transform_graph.transform(t.StaticMatrixTransform, TCoo1, TCoo2)
    def matrix():
        return [[2, 0, 0], [0, 1, 0], [0, 0, 1]]
    c4 = c3.transform_to(TCoo2)
    assert_allclose(c4.cartesian.x, (2 * u.pc))
    assert_allclose(c4.cartesian.y, (1 * u.pc))
    assert_allclose(c4.cartesian.z, (2 * u.pc))

What's a good function header?
assistant
#Here's a good function header.

def test_transform_decos():