code: def test_legacy_title_props_remapped(self):
      # plain Layout
      obj = go.Layout()
      self.assertIs(obj.titlefont, obj.title.font)
      self.assertIsNone(obj.title.font.family)
  
      # Set titlefont in constructor
      obj = go.Layout(titlefont={"family": "Courier"})
      self.assertIs(obj.titlefont, obj.title.font)
      self.assertEqual(obj.titlefont.family, "Courier")
      self.assertEqual(obj.title.font.family, "Courier")
  
      # Property assignment
      obj = go.Layout()
      obj.titlefont.family = "Courier"
      self.assertIs(obj.titlefont, obj.title.font)
      self.assertEqual(obj["titlefont.family"], "Courier")
      self.assertEqual(obj.title.font.family, "Courier")
  
      # In/Iter
      self.assertIn("titlefont", obj)
      self.assertIn("titlefont.family", obj)
      self.assertIn("titlefont", iter(obj))
  
file_path: plotly.py/packages/python/plotly/plotly/tests/test_core/test_graph_objs/test_graph_objs.py
imports: from unittest import TestCase
  import plotly.graph_objs
label_desc: Use image node_id 3 for calling the TestBackwardsCompat obj's underlying member method code with example usage: obj.test_legacy_title_props_remapped() without return types