import unittest from src.nodes.leaf import LeafNode class LeafNodeTest(unittest.TestCase): def test_to_html_when_leaf_no_value_it_should_raise_value_error(self): node = LeafNode("p", None) with self.assertRaises(ValueError): node.to_html() def test_to_html_when_no_tag_it_should_return_value(self): expected = "Hello Chat" node = LeafNode(None, expected) result = node.to_html() self.assertEqual(result, expected) def test_to_html_when_tag_and_value_it_should_return_html_tag(self): tag = "h1" value = "Hello Chat" expected = f"<{tag}>{value}" node = LeafNode(None, expected) result = node.to_html() self.assertEqual(result, expected) def test_repr_when_called_it_should_return_expected_representation(self): tag = "tag" value = "value" props = {} node = LeafNode(tag, value, props) result = repr(node) self.assertEqual(result, f"{LeafNode.__name__}({tag}, {value}, {props})")