class_docstr: Tests for shared/rule_table.py
docstr: Rule Table - Print Table, Empty
docstr_tok: ["Rule","Table","-","Print","Table",",","Empty"]
code: def test_print_table_empty(self):
      """Rule Table - Print Table, Empty"""
      with patch("sys.stdout", new=StringIO()) as stdout:
          print(self.rule_table)
          expected_output = "Rule table is empty"
          output = stdout.getvalue().strip()
          assert_equal(output, expected_output.strip())
  
imports: from datetime import datetime
  import os
  from io import StringIO
  from botocore.exceptions import ClientError
  from mock import Mock, patch
  from moto import mock_dynamodb2
  from nose.tools import assert_equal, assert_not_equal, assert_raises
  from streamalert.shared import rule, rule_table
  from tests.unit.helpers.aws_mocks import setup_mock_rules_table
label_desc: Use image node_id 27 for calling the TestRuleTable obj's underlying member method code with example usage: obj.test_print_table_empty() without return types