def test_format_one(self): sf = yaml_format.YAMLFormatter() c = ('a', 'b', 'c', 'd') d = ('A', 'B', 'C', '"escape me"') expected = {'a': 'A', 'b': 'B', 'c': 'C', 'd': '"escape me"'} output = six.StringIO() args = mock.Mock() sf.emit_one(c, d, output, args) actual = yaml.safe_load(output.getvalue()) self.assertEqual(expected, actual)
def _format_global_efficacy(self, global_efficacy, parsed_args): formatted_global_efficacy = format_global_efficacy(global_efficacy) out = six.StringIO() yaml_format.YAMLFormatter().emit_one( column_names=list(resource.capitalize() for resource in formatted_global_efficacy), data=[value for value in formatted_global_efficacy.values()], stdout=out, parsed_args=parsed_args, ) return out.getvalue() or ''
def _format_indicators(self, action_plan, parsed_args): out = six.StringIO() efficacy_indicators = action_plan.efficacy_indicators fields = ['name', 'description', 'value', 'unit'] yaml_format.YAMLFormatter().emit_list( column_names=list(field.capitalize() for field in fields), data=[ utils.get_dict_properties(spec, fields) for spec in efficacy_indicators ], stdout=out, parsed_args=parsed_args, ) return out.getvalue() or ''
def test_formattablecolumn_list(self): sf = yaml_format.YAMLFormatter() c = ('a', 'b', 'c') d = ( ('A1', 'B1', test_columns.FauxColumn(['the', 'value'])), ) expected = [ {'a': 'A1', 'b': 'B1', 'c': ['the', 'value']}, ] args = mock.Mock() sf.add_argument_group(args) args.noindent = True output = six.StringIO() sf.emit_list(c, d, output, args) actual = yaml.safe_load(output.getvalue()) self.assertEqual(expected, actual)
def test_list(self): sf = yaml_format.YAMLFormatter() c = ('a', 'b', 'c') d = ( ('A1', 'B1', 'C1'), ('A2', 'B2', 'C2'), ('A3', 'B3', 'C3') ) expected = [ {'a': 'A1', 'b': 'B1', 'c': 'C1'}, {'a': 'A2', 'b': 'B2', 'c': 'C2'}, {'a': 'A3', 'b': 'B3', 'c': 'C3'} ] output = six.StringIO() args = mock.Mock() sf.add_argument_group(args) sf.emit_list(c, d, output, args) actual = yaml.safe_load(output.getvalue()) self.assertEqual(expected, actual)
def test_formattablecolumn_one(self): sf = yaml_format.YAMLFormatter() c = ('a', 'b', 'c', 'd') d = ('A', 'B', 'C', test_columns.FauxColumn(['the', 'value'])) expected = { 'a': 'A', 'b': 'B', 'c': 'C', 'd': ['the', 'value'], } args = mock.Mock() sf.add_argument_group(args) args.noindent = True output = six.StringIO() sf.emit_one(c, d, output, args) value = output.getvalue() print(len(value.splitlines())) actual = yaml.safe_load(output.getvalue()) self.assertEqual(expected, actual)