@Test
public void testBuildTypeName() {

    assertThat(buildTypeName("uint256"),
            Is.<TypeName>is(ClassName.get(Uint256.class)));
    assertThat(buildTypeName("uint64"),
            Is.<TypeName>is(ClassName.get(Uint64.class)));
    assertThat(buildTypeName("string"),
            Is.<TypeName>is(ClassName.get(Utf8String.class)));
    assertThat(buildTypeName("uint256[]"),
            Is.<TypeName>is(ParameterizedTypeName.get(DynamicArray.class, Uint256.class)));
    assertThat(buildTypeName("uint256[] storage"),
            Is.<TypeName>is(ParameterizedTypeName.get(DynamicArray.class, Uint256.class)));
    assertThat(buildTypeName("uint256[] memory"),
            Is.<TypeName>is(ParameterizedTypeName.get(DynamicArray.class, Uint256.class)));
    assertThat(buildTypeName("uint256[10]"),
            Is.<TypeName>is(ParameterizedTypeName.get(StaticArray10.class, Uint256.class)));
    assertThat(buildTypeName("uint256[33]"),
            Is.<TypeName>is(ParameterizedTypeName.get(StaticArray.class, Uint256.class)));
}