code: def test_get_logical_form_with_multiple_negate_filters(self):
      world = self.nlvr_world
      # This is an actual sequence of actions produced by an untrained NlvrSemanticParser
      action_sequence = [
          "@start@ -> t",
          "t -> [<o,<c,t>>, o, c]",
          "<o,<c,t>> -> object_color_all_equals",
          "o -> [<o,o>, o]",
          "<o,o> -> [<<o,o>,<o,o>>, <o,o>]",
          "<<o,o>,<o,o>> -> negate_filter",
          "<o,o> -> [<<o,o>,<o,o>>, <o,o>]",
          "<<o,o>,<o,o>> -> negate_filter",
          "<o,o> -> blue",
          "o -> [<o,o>, o]",
          "<o,o> -> blue",
          "o -> [<o,o>, o]",
          "<o,o> -> blue",
          "o -> all_objects",
          "c -> color_blue",
      ]
      logical_form = world.get_logical_form(action_sequence)
      # "The color of all blue blue objects that are not not blue is blue".
      expected_logical_form = (
          "(object_color_all_equals ((negate_filter (negate_filter blue)) "
          "(blue (blue all_objects))) color_blue)"
      )
      parsed_logical_form = world.parse_logical_form(logical_form)
      parsed_expected_logical_form = world.parse_logical_form(
          expected_logical_form
      )
      assert parsed_logical_form == parsed_expected_logical_form
  
imports: from __future__ import with_statement
  from __future__ import division
  from __future__ import absolute_import
  import json
  from allennlp.common.testing import AllenNlpTestCase
  from allennlp.data.tokenizers import Token
  from allennlp.semparse import ParsingError, World
  from allennlp.semparse.contexts import TableQuestionKnowledgeGraph
  from allennlp.semparse.worlds import NlvrWorld, WikiTablesWorld
  from io import open
label_desc: Use image node_id 15 for calling the TestWorld obj's underlying member method code with example usage: obj.test_get_logical_form_with_multiple_negate_filters() without return types