def serialize(self, node=None):
        if node is None:
            node = ElementTree.Element('transfer_function')
            
        node.set('min_range', str(self._min_range))
        node.set('max_range', str(self._max_range))
        for pt in self._pts:
            ptNode = ElementTree.SubElement(node, 'point')
            ptNode.set('scalar', str(pt[0]))
            ptNode.set('opacity', str(pt[1]))
            color = pt[2]
            colorNode = ElementTree.SubElement(ptNode, 'color')
            colorNode.set('R', str(color[0]))
            colorNode.set('G', str(color[1]))
            colorNode.set('B', str(color[2]))
            
        return ElementTree.tostring(node)
Tests decimal defaults work properly
dataset/ETHPy150Open VisTrails/VisTrails/vistrails/packages/vtk/tf_widget.py/TransferFunction.serialize--crossover with--dataset/ETHPy150Open StartTheShift/thunderdome/thunderdome/tests/columns/test_defaults.py/TestDefaultValue.test_decimal_default