def test_block_writer_multiple_attributes(self):
    items = list()
    record_map = _Record.create()
    dog_map = _Record.create()
    dog_map.add(Slot.create_slot(Text.create_from('dog'), Text.create_from('bark')))
    record_map.add(Attr.create_attr(Text.create_from('Animal'), dog_map))
    cat_map = _Record.create()
    cat_map.add(Slot.create_slot(Text.create_from('cat'), Text.create_from('meow')))
    record_map.add(Attr.create_attr(Text.create_from('Animal'), cat_map))
    bird_map = _Record.create()
    bird_map.add(Slot.create_slot(Text.create_from('bird'), Text.create_from('chirp')))
    record_map.add(Attr.create_attr(Text.create_from('Animal'), bird_map))
    items.append(record_map)
    writer = _ReconWriter()
    actual = _BlockWriter._write(items, writer=writer, first=True)
    self.assertIsInstance(actual, _OutputMessage)
    self.assertEqual('@Animal(dog:bark)@Animal(cat:meow)@Animal(bird:chirp)', actual._message)
def test_block_writer_multiple_attributes(self):
    items = list()
    record_map = _Record.create()
    dog_map = _Record.create()
    dog_map.add(Slot.create_slot(Text.create_from('dog'), Text.create_from('bark')))
    record_map.add(Attr.create_attr(Text.create_from('Animal'), dog_map))
    cat_map = _Record.create()
    cat_map.add(Slot.create_slot(Text.create_from('cat'), Text.create_from('meow')))
    record_map.add(Attr.create_attr(Text.create_from('Animal'), cat_map))
    bird_map = _Record.create()
    bird_map.add(Slot.create_slot(Text.create_from('bird'), Text.create_from('chirp')))
    record_map.add(Attr.create_attr(Text.create_from('Animal'), bird_map))
    items.append(record_map)
    writer = _ReconWriter()
    actual = _BlockWriter._write(items, writer=writer, first=True)
    self.assertIsInstance(actual, _OutputMessage)
    self.assertEqual('@Animal(dog:bark)@Animal(cat:meow)@Animal(bird:chirp)', actual._message)