Example #1
0
    def test_clean_multichartseries_non_number_is_prompting_error(self):
        context = RenderContext(
            None, None,
            TableShape(3, [
                Column('A', ColumnType.TEXT()),
                Column('B', ColumnType.DATETIME()),
            ]), None, None)
        value = [
            {
                'column': 'A',
                'color': '#aaaaaa'
            },
            {
                'column': 'B',
                'color': '#cccccc'
            },
        ]
        with self.assertRaises(PromptingError) as cm:
            clean_value(ParamDType.Multichartseries(), value, context)

        self.assertEqual(cm.exception.errors, [
            PromptingError.WrongColumnType(['A'], 'text', frozenset({'number'
                                                                     })),
            PromptingError.WrongColumnType(['B'], 'datetime',
                                           frozenset({'number'})),
        ])
Example #2
0
    def test_clean_multichartseries_non_number_is_prompting_error(self):
        context = RenderContext(
            None,
            None,
            TableShape(3, [
                Column("A", ColumnType.TEXT()),
                Column("B", ColumnType.DATETIME())
            ]),
            None,
            None,
        )
        value = [
            {
                "column": "A",
                "color": "#aaaaaa"
            },
            {
                "column": "B",
                "color": "#cccccc"
            },
        ]
        with self.assertRaises(PromptingError) as cm:
            clean_value(ParamDType.Multichartseries(), value, context)

        self.assertEqual(
            cm.exception.errors,
            [
                PromptingError.WrongColumnType(["A"], "text",
                                               frozenset({"number"})),
                PromptingError.WrongColumnType(["B"], "datetime",
                                               frozenset({"number"})),
            ],
        )
Example #3
0
 def test_clean_multichartseries_missing_is_removed(self):
     context = RenderContext(None, None, TableShape(3, [
         Column('A', ColumnType.NUMBER()),
         Column('B', ColumnType.NUMBER()),
     ]), None, None)
     value = [
         {'column': 'A', 'color': '#aaaaaa'},
         {'column': 'C', 'color': '#cccccc'},
     ]
     result = clean_value(ParamDType.Multichartseries(), value, context)
     self.assertEqual(result, [{'column': 'A', 'color': '#aaaaaa'}])
Example #4
0
 def test_multichartseries_omit_missing_table_columns(self):
     dtype = ParamDType.Multichartseries()
     value = dtype.omit_missing_table_columns([
         {
             'column': 'X',
             'color': '#abcdef'
         },
         {
             'column': 'Y',
             'color': '#abc123'
         },
     ], {'X', 'Z'})
     self.assertEqual(value, [{'column': 'X', 'color': '#abcdef'}])
Example #5
0
 def test_clean_multichartseries_missing_is_removed(self):
     context = RenderContext(
         None,
         None,
         TableShape(3, [
             Column("A", ColumnType.NUMBER()),
             Column("B", ColumnType.NUMBER())
         ]),
         None,
         None,
     )
     value = [
         {
             "column": "A",
             "color": "#aaaaaa"
         },
         {
             "column": "C",
             "color": "#cccccc"
         },
     ]
     result = clean_value(ParamDType.Multichartseries(), value, context)
     self.assertEqual(result, [{"column": "A", "color": "#aaaaaa"}])
 def test_clean_multichartseries_is_error(self):
     with self.assertRaisesRegex(RuntimeError,
                                 "Unsupported: fetch multichartseries"):
         clean_value(ParamDType.Multichartseries(), [], None)