def test_get_value(self):
        workbook = self._workbook

        form = Form(workbook)
        subform = FakeSubForm(10.0)
        form.add_sub_form(subform, 'form1')
        self.assertEqual(form.get_value('form1', cell_attributes=False), 10.0)
    def test_add_sub_form(self):
        workbook = self._workbook

        form = Form(workbook)
        subform = FakeSubForm(10.0)
        form.add_sub_form(subform, 'form1')

        self.assertEqual(form.get_sub_form_names(), ['form1'])
    def test_get_value(self):
        workbook, sheet1 = self._workbook, self._sheet1

        sheet1.Cells(2, 3).Value = 10.0

        form = Form(workbook)
        subform = SubFormCell(sheet='Sheet1', row=2, column=3)
        form.add_sub_form(subform, 'form1')
        self.assertEqual(form.get_value('form1'), 10.0)
    def test_get_value(self):
        workbook, sheet1 = self._workbook, self._sheet1

        sheet1.Cells(2, 3).Value = 23.0  # C2
        sheet1.Cells(2, 4).Value = 24.0  # D2
        sheet1.Cells(3, 3).Value = 33.0  # C3
        sheet1.Cells(3, 4).Value = 34.0  # D3

        form = Form(workbook)
        subform = SubFormRange(sheet='Sheet1', range_arg='C2:D3')
        form.add_sub_form(subform, 'form1')
        actual = form.get_value('form1')

        self.assertEqual(actual, [[23.0, 24.0], [33.0, 34.0]])
    def test_get_value(self):
        workbook, sheet1 = self._workbook, self._sheet1

        sheet1.Cells(2, 3).Value = 23.0  # C2
        sheet1.Cells(2, 4).Value = 24.0  # D2
        sheet1.Cells(3, 3).Value = 33.0  # C3
        sheet1.Cells(3, 4).Value = 34.0  # D3

        form = Form(workbook)
        subform = SubFormRangeWithName(sheet='Sheet1',
                                       range_arg='C2:D3',
                                       name_list=['col1', 'col2'])
        form.add_sub_form(subform, 'form1')
        actual = form.get_value('form1')

        self.assertEqual(actual[0].get('col1'), 23.0)
        self.assertEqual(actual[0].get('col2'), 24.0)
        self.assertEqual(actual[1].get('col1'), 33.0)
        self.assertEqual(actual[1].get('col2'), 34.0)
    def test_set_value(self):
        workbook = self._workbook

        form = Form(workbook)
        subform = FakeSubForm(10.0)
        form.add_sub_form(subform, 'form1')
        form.set_value('form1', 20.0)

        self.assertEqual(subform._value, 20.0)
    def test_set_value(self):
        workbook, sheet1 = self._workbook, self._sheet1

        form = Form(workbook)
        subform = SubFormRange(sheet='Sheet1', range_arg='C2:D3')
        form.add_sub_form(subform, 'form1')
        form.set_value('form1', [[123.0, 124.0], [133.0, 134.0]])

        self.assertEqual(sheet1.Cells(2, 3).Value, 123.0)
        self.assertEqual(sheet1.Cells(2, 4).Value, 124.0)
        self.assertEqual(sheet1.Cells(3, 3).Value, 133.0)
        self.assertEqual(sheet1.Cells(3, 4).Value, 134.0)
    def test_set_value(self):
        workbook, sheet1 = self._workbook, self._sheet1

        form = Form(workbook)
        subform = SubFormRangeWithName(sheet='Sheet1',
                                       range_arg='C2:D3',
                                       name_list=['col1', 'col2'])
        form.add_sub_form(subform, 'form1')
        data = [
            {
                "col1": 123.0,
                "col2": 124.0
            },
            {
                "col1": 133.0,
                "col2": 134.0
            },
        ]
        form.set_value('form1', data)

        self.assertEqual(sheet1.Cells(2, 3).Value, 123.0)
        self.assertEqual(sheet1.Cells(2, 4).Value, 124.0)
        self.assertEqual(sheet1.Cells(3, 3).Value, 133.0)
        self.assertEqual(sheet1.Cells(3, 4).Value, 134.0)