Exemple #1
0
    def test_eq_neq(self):
        cell1 = Cell()
        cell1.formula = '=formula'
        cell2 = Cell()
        cell2.formula = '=formula'
        self.assertTrue(cell1 == cell2)
        self.assertFalse(cell1 != cell2)

        cell1.value = 10
        self.assertFalse(cell1 == cell2)
        self.assertTrue(cell1 != cell2)
        cell2.value = 10
        self.assertTrue(cell1 == cell2)
        self.assertFalse(cell1 != cell2)

        cell1.formatted_value = 'formatted'
        self.assertFalse(cell1 == cell2)
        self.assertTrue(cell1 != cell2)
        cell2.formatted_value = 'formatted'
        self.assertTrue(cell1 == cell2)
        self.assertFalse(cell1 != cell2)

        cell1.error = 'this error'
        self.assertFalse(cell1 == cell2)
        self.assertTrue(cell1 != cell2)
        cell2.error = 'this error'
        self.assertTrue(cell1 == cell2)
        self.assertFalse(cell1 != cell2)

        self.assertFalse(cell1 == 'hello')
        self.assertTrue(cell1 != 'hello')
    def test_eq_neq(self):
        cell1 = Cell()
        cell1.formula = '=formula'
        cell2 = Cell()
        cell2.formula = '=formula'
        self.assertTrue(cell1 == cell2)
        self.assertFalse(cell1 != cell2)

        cell1.value = 10
        self.assertFalse(cell1 == cell2)
        self.assertTrue(cell1 != cell2)
        cell2.value = 10
        self.assertTrue(cell1 == cell2)
        self.assertFalse(cell1 != cell2)

        cell1.formatted_value = 'formatted'
        self.assertFalse(cell1 == cell2)
        self.assertTrue(cell1 != cell2)
        cell2.formatted_value = 'formatted'
        self.assertTrue(cell1 == cell2)
        self.assertFalse(cell1 != cell2)

        cell1.error = 'this error'
        self.assertFalse(cell1 == cell2)
        self.assertTrue(cell1 != cell2)
        cell2.error = 'this error'
        self.assertTrue(cell1 == cell2)
        self.assertFalse(cell1 != cell2)

        self.assertFalse(cell1 == 'hello')
        self.assertTrue(cell1 != 'hello')
    def test_repr(self):
        cell = Cell()
        cell.formula = 'f'
        self.assertEquals(repr(cell), "<Cell formula=f value=<undefined> formatted_value=u''>")

        cell = Cell()
        cell.value = 'v'
        self.assertEquals(repr(cell), "<Cell formula=None value='v' formatted_value=u'v'>")

        cell = Cell()
        cell.value = 23
        self.assertEquals(repr(cell), "<Cell formula=None value=23 formatted_value=u'23'>")

        cell = Cell()
        cell.formula = 'f'
        cell.value = 'v'
        self.assertEquals(repr(cell), "<Cell formula=f value='v' formatted_value=u'v'>")

        cell = Cell()
        cell.formula = 'f'
        cell.value = 'v'
        cell.formatted_value = u'fv'
        self.assertEquals(repr(cell), "<Cell formula=f value='v' formatted_value=u'fv'>")

        cell = Cell()
        cell.formula = 'f'
        cell.value = 'v'
        cell.formatted_value = u'fv'
        cell.error = 'e'
        self.assertEquals(repr(cell), "<Cell formula=f value='v' formatted_value=u'fv' error='e'>")
Exemple #4
0
    def test_run_worksheet_with_overrides(self, mock_urllib2):
        self.maxDiff = None

        cellA2 = Cell()
        cellA2.formula = '1'
        cellA2.value = 1

        cellC3 = Cell()
        cellC3.formula = '5'
        cellC3.value = 5

        cellE4 = Cell()
        cellE4.formula = '=A2 + C3'
        cellE4.value = 6

        overrides = {
            (1, 2): '11',
            (3, 3): 55,
            (4, 1): '="abc"',
            'dirigible_l337_private_key': sentinel.private_key
        }

        result_of_calculation_json = '''{
            "name": "Untitled",
            "1": {
                "2": 11
            },
            "3": {
                "3": 55
            },
            "4": {
                "1": "abc"
            },
            "5": {
                "4": 66
            }
        }'''

        mock_opener = mock_urllib2.build_opener.return_value
        mock_urlopen_file = mock_opener.open.return_value
        mock_urlopen_file.read.return_value = result_of_calculation_json

        worksheet_url = 'ws_url/'
        result = run_worksheet(worksheet_url, overrides, sentinel.private_key)

        target_url = '%sv%s/json/' % (worksheet_url, CURRENT_API_VERSION)
        self.assertCalledOnce(mock_opener.open,
                              target_url,
                              data=urlencode(overrides))
        self.assertEquals(type(result), Worksheet)
        expected_sheet = Worksheet()
        expected_sheet.name = 'Untitled'
        expected_sheet[1, 2].value = 11
        expected_sheet[3, 3].value = 55
        expected_sheet[4, 1].value = 'abc'
        expected_sheet[5, 4].value = 66

        self.assertEquals(result, expected_sheet)
    def test_run_worksheet_with_overrides(self, mock_urllib2):
        self.maxDiff = None

        cellA2 = Cell()
        cellA2.formula = '1'
        cellA2.value = 1

        cellC3 = Cell()
        cellC3.formula = '5'
        cellC3.value = 5

        cellE4 = Cell()
        cellE4.formula = '=A2 + C3'
        cellE4.value = 6

        overrides = {
            (1, 2): '11',
            (3, 3): 55,
            (4, 1): '="abc"',
            'dirigible_l337_private_key': sentinel.private_key
        }

        result_of_calculation_json = '''{
            "name": "Untitled",
            "1": {
                "2": 11
            },
            "3": {
                "3": 55
            },
            "4": {
                "1": "abc"
            },
            "5": {
                "4": 66
            }
        }'''

        mock_opener = mock_urllib2.build_opener.return_value
        mock_urlopen_file = mock_opener.open.return_value
        mock_urlopen_file.read.return_value = result_of_calculation_json

        worksheet_url = 'ws_url/'
        result = run_worksheet(worksheet_url, overrides, sentinel.private_key)

        target_url = '%sv%s/json/' % (worksheet_url, CURRENT_API_VERSION)
        self.assertCalledOnce(mock_opener.open, target_url, data=urlencode(overrides))
        self.assertEquals(type(result), Worksheet)
        expected_sheet = Worksheet()
        expected_sheet.name = 'Untitled'
        expected_sheet[1, 2].value = 11
        expected_sheet[3, 3].value = 55
        expected_sheet[4, 1].value = 'abc'
        expected_sheet[5, 4].value = 66

        self.assertEquals(result, expected_sheet)
Exemple #6
0
    def test_clear_value_clears_value_but_not_formatted_value(self):
        cell = Cell()

        cell.value = 29
        cell.formatted_value = "wibble"

        cell.clear_value()

        self.assertEquals(cell.value, undefined)
        self.assertEquals(cell.formatted_value, "wibble")
    def test_clear_value_clears_value_but_not_formatted_value(self):
        cell = Cell()

        cell.value = 29
        cell.formatted_value = "wibble"

        cell.clear_value()

        self.assertEquals(cell.value, undefined)
        self.assertEquals(cell.formatted_value, "wibble")
Exemple #8
0
    def test_repr(self):
        cell = Cell()
        cell.formula = 'f'
        self.assertEquals(
            repr(cell),
            "<Cell formula=f value=<undefined> formatted_value=u''>")

        cell = Cell()
        cell.value = 'v'
        self.assertEquals(
            repr(cell), "<Cell formula=None value='v' formatted_value=u'v'>")

        cell = Cell()
        cell.value = 23
        self.assertEquals(
            repr(cell), "<Cell formula=None value=23 formatted_value=u'23'>")

        cell = Cell()
        cell.formula = 'f'
        cell.value = 'v'
        self.assertEquals(repr(cell),
                          "<Cell formula=f value='v' formatted_value=u'v'>")

        cell = Cell()
        cell.formula = 'f'
        cell.value = 'v'
        cell.formatted_value = u'fv'
        self.assertEquals(repr(cell),
                          "<Cell formula=f value='v' formatted_value=u'fv'>")

        cell = Cell()
        cell.formula = 'f'
        cell.value = 'v'
        cell.formatted_value = u'fv'
        cell.error = 'e'
        self.assertEquals(
            repr(cell),
            "<Cell formula=f value='v' formatted_value=u'fv' error='e'>")
Exemple #9
0
    def test_clear_clears_stuff(self):
        cell = Cell()

        cell.value = 29
        cell.formula = 'e equals emcee squared'
        cell.python_formula = 'e equals emcee squared'
        cell.dependencies = [(1, 1), (2, 2)]
        cell.formatted_value = "wibble"
        cell.error = 'a spear'

        cell.clear()

        self.assertEquals(cell.value, undefined)
        self.assertEquals(cell.formula, None)
        self.assertEquals(cell.python_formula, None)
        self.assertEquals(Cell().dependencies, [])
        self.assertEquals(cell.formatted_value, u"")
        self.assertEquals(cell.error, None)
    def test_clear_clears_stuff(self):
        cell = Cell()

        cell.value = 29
        cell.formula = 'e equals emcee squared'
        cell.python_formula = 'e equals emcee squared'
        cell.dependencies = [(1, 1), (2, 2)]
        cell.formatted_value = "wibble"
        cell.error = 'a spear'

        cell.clear()

        self.assertEquals(cell.value, undefined)
        self.assertEquals(cell.formula, None)
        self.assertEquals(cell.python_formula, None)
        self.assertEquals(Cell().dependencies, [])
        self.assertEquals(cell.formatted_value, u"")
        self.assertEquals(cell.error, None)
Exemple #11
0
 def test_setting_value_sets_formatted_value_to_unicode_version(self):
     cell = Cell()
     cell._set_formatted_value = Mock()
     cell.value = sentinel.value
     self.assertCalledOnce(cell._set_formatted_value,
                           unicode(sentinel.value))
Exemple #12
0
 def test_setting_value_to_undefined_sets_formatted_value_to_empty_string(
         self):
     cell = Cell()
     cell._set_formatted_value = Mock()
     cell.value = undefined
     self.assertCalledOnce(cell._set_formatted_value, u'')
Exemple #13
0
 def test_setting_value_to_ws_doesnt_die(self):
     # This is actually mostly testing that it doesn't explode
     cell = Cell()
     ws = Worksheet()
     cell.value = ws
     self.assertEquals(cell.formatted_value, unicode(ws))
 def test_setting_value_sets_formatted_value_to_unicode_version(self):
     cell = Cell()
     cell._set_formatted_value = Mock()
     cell.value = sentinel.value
     self.assertCalledOnce(cell._set_formatted_value, unicode(sentinel.value))
 def test_setting_value_to_undefined_sets_formatted_value_to_empty_string(self):
     cell = Cell()
     cell._set_formatted_value = Mock()
     cell.value = undefined
     self.assertCalledOnce(cell._set_formatted_value, u'')
 def test_setting_value_to_ws_doesnt_die(self):
     # This is actually mostly testing that it doesn't explode
     cell = Cell()
     ws = Worksheet()
     cell.value = ws
     self.assertEquals(cell.formatted_value, unicode(ws))