def testCompile(self):
     firewall = MessageFirewall()
     self.assertEqual(
         [
             SkipFirewallStatement(skip_label=345, if_tags=None, if_inverted=False, label=None),
             DoFirewallStatement(
                 func_name="ruleTrue",
                 func_args={"a": 3, "b": "ddd"},
                 markers=["spam"],
                 if_tags=["analyzed", "skipped"],
                 if_inverted=False,
                 label=None,
             ),
             StopFirewallStatement(stop_marker="SPAM", if_tags=["a", "b", "c"], if_inverted=True, label=345),
         ],
         firewall.compile(
             firewall.parse(
                 'skip to 345\nif analyzed, skipped do ruleTrue(a=3, b="ddd") mark spam\n345: if not a, b, c stop as SPAM'
             )
         ),
     )