'Hints format RDF values with arbitrary values and attributes.'

def testRdfFormatter(self):

    rdf = rdf_client.ClientSummary()
    rdf.system_info.system = 'Linux'
    rdf.system_info.node = 'coreai.skynet.com'
    rdf.users = [rdf_client.User(username=u) for u in ('root', 'jconnor')]
    addresses = [rdf_client.NetworkAddress(human_readable=a) for a in ('1.1.1.1', '2.2.2.2', '3.3.3.3')]
    eth0 = rdf_client.Interface(ifname='eth0', addresses=addresses[:2])
    ppp0 = rdf_client.Interface(ifname='ppp0', addresses=addresses[2])
    rdf.interfaces = [eth0, ppp0]
    template = '{system_info.system}    {users.username}    {interfaces.ifname}    {interfaces.addresses.human_readable}\n'
    hinter = hints.Hinter(template=template)
    expected = 'Linux    root,jconnor    eth0,ppp0    1.1.1.1,2.2.2.2,3.3.3.3'
    result = hinter.Render(rdf)
    self.assertEqual(expected, result)
