Beispiel #1
0
 def test_begin(self):
     fso = fakeStateObject.FakeStateObject()
     fso.dictionaryStack = [{}]
     transactionCommands.begin(fso, None)
     self.assertEqual(len(fso.dictionaryStack), 2)
     transactionCommands.begin(fso, None)
     self.assertEqual(len(fso.dictionaryStack), 3)
Beispiel #2
0
    def test_unsetValue2(self):
        fso = fakeStateObject.FakeStateObject()
        fso.dictionaryStack = [{'a': 1}, {'a': 2}, {'a': 3}]

        dataCommands.unsetValue(fso, ['UNSET', 'a'])
        self.assertEqual(fso.dictionaryStack[2].get('a'), None)
        self.assertEqual(fso.unsetVariables.count('a'), 1)
Beispiel #3
0
 def test_commit2(self):
     fso = fakeStateObject.FakeStateObject()
     fso.unsetVariables = ['d']
     fso.dictionaryStack = [{'a': 1, 'd': 10}, {'a': 2, 'b': 9}, {'a': 3}]
     transactionCommands.commit(fso, None)
     self.assertEqual(len(fso.unsetVariables), 0)
     self.assertEqual(fso.dictionaryStack[0].get('d'), None)
Beispiel #4
0
 def test_setValue(self):
     fso = fakeStateObject.FakeStateObject()
     fso.dictionaryStack = [{'a', 1}, {'b': 10}]
     dataCommands.setValue(fso, ['SET', 'a', 15])
     dataCommands.setValue(fso, ['SET', 'b', 99])
     self.assertEqual(fso.dictionaryStack[1]['a'], 15)
     self.assertEqual(fso.dictionaryStack[1]['b'], 99)
Beispiel #5
0
    def test_unsetValue1(self):
        fso = fakeStateObject.FakeStateObject()
        fso.dictionaryStack = [{'a': 5, 'b': 10, 'c': 100}]

        dataCommands.unsetValue(fso, ['UNSET', 'a'])
        self.assertEqual(fso.dictionaryStack[0].get('a'), None)
        self.assertEqual(fso.dictionaryStack[0].get('b'), 10)

        # test a double unset
        dataCommands.unsetValue(fso, ['UNSET', 'a'])
        self.assertEqual(fso.dictionaryStack[0].get('a'), None)
Beispiel #6
0
    def test_getValue3(self):
        fso = fakeStateObject.FakeStateObject()
        fso.dictionaryStack = [{'a': 1}, {'a': 2}, {'a': 3}]
        fso.unsetVariables.append('a')
        old_stdout = sys.stdout
        sys.stdout = mystdout = StringIO()

        dataCommands.getValue(fso, ['GET', 'a'])

        sys.stdout = old_stdout

        self.assertEqual(mystdout.getvalue(), 'NULL\n')
Beispiel #7
0
    def test_getValue2(self):
        fso = fakeStateObject.FakeStateObject()
        fso.dictionaryStack = [{'a': 1}, {'a': 2}, {'a': 3}]

        old_stdout = sys.stdout
        sys.stdout = mystdout = StringIO()

        dataCommands.getValue(fso, ['GET', 'a'])

        sys.stdout = old_stdout

        self.assertEqual(mystdout.getvalue(), '3\n')
Beispiel #8
0
    def test_numEq2(self):
        fso = fakeStateObject.FakeStateObject()
        fso.dictionaryStack = [{'a': 5}, {'b': 10}, {'c': 10}, {'d': 5}]

        old_stdout = sys.stdout
        sys.stdout = mystdout = StringIO()

        dataCommands.numEq(fso, ['NUMEQUALTO', 5])
        dataCommands.numEq(fso, ['NUMEQUALTO', 1])
        dataCommands.numEq(fso, ['NUMEQUALTO', 10])

        sys.stdout = old_stdout

        self.assertEqual(mystdout.getvalue(), '2\n0\n2\n')
Beispiel #9
0
    def test_numEq3(self):
        fso = fakeStateObject.FakeStateObject()
        fso.dictionaryStack = [{'a': 5, 'b': 10, 'c': 10, 'd': 5}]
        fso.unsetVariables.append('b')
        old_stdout = sys.stdout
        sys.stdout = mystdout = StringIO()

        dataCommands.numEq(fso, ['NUMEQUALTO', 5])
        dataCommands.numEq(fso, ['NUMEQUALTO', 1])
        dataCommands.numEq(fso, ['NUMEQUALTO', 10])

        sys.stdout = old_stdout

        self.assertEqual(mystdout.getvalue(), '2\n0\n1\n')
Beispiel #10
0
    def test_getValue1(self):
        fso = fakeStateObject.FakeStateObject()
        fso.dictionaryStack = [{'a': 5, 'b': 10, 'c': 100}]

        old_stdout = sys.stdout
        sys.stdout = mystdout = StringIO()

        dataCommands.getValue(fso, ['GET', 'a'])
        dataCommands.getValue(fso, ['GET', 'b'])
        dataCommands.getValue(fso, ['GET', 'c'])
        dataCommands.getValue(fso, ['GET', 'c'])
        dataCommands.getValue(fso, ['GET', 'z'])

        sys.stdout = old_stdout

        self.assertEqual(mystdout.getvalue(), '5\n10\n100\n100\nNULL\n')
Beispiel #11
0
    def test_commit1(self):
        fso = fakeStateObject.FakeStateObject()
        fso.dictionaryStack = [{}]

        old_stdout = sys.stdout
        sys.stdout = mystdout = StringIO()

        transactionCommands.commit(fso, None)

        sys.stdout = old_stdout
        self.assertEqual(mystdout.getvalue(), 'NO TRANSACTION\n')

        fso.unsetVariables = ['w']
        fso.dictionaryStack = [{'a': 1, 'd': 10}, {'a': 2, 'b': 9}, {'a': 3}]
        transactionCommands.commit(fso, None)
        self.assertEqual(len(fso.unsetVariables), 0)
        self.assertEqual(fso.dictionaryStack[0]['a'], 3)
        self.assertEqual(fso.dictionaryStack[0]['b'], 9)
        self.assertEqual(fso.dictionaryStack[0]['d'], 10)
Beispiel #12
0
    def test_rollback(self):
        fso = fakeStateObject.FakeStateObject()
        fso.dictionaryStack = [{}]

        old_stdout = sys.stdout
        sys.stdout = mystdout = StringIO()

        transactionCommands.rollback(fso, None)

        sys.stdout = old_stdout
        self.assertEqual(mystdout.getvalue(), 'NO TRANSACTION\n')

        fso.unsetVariables = ['a']
        fso.dictionaryStack = [{'a': 1}, {'a': 2}, {'a': 3}]
        transactionCommands.rollback(fso, None)
        self.assertEqual(
            fso.dictionaryStack[len(fso.dictionaryStack) - 1]['a'], 2)
        self.assertEqual(len(fso.unsetVariables), 0)
        transactionCommands.rollback(fso, None)
        self.assertEqual(
            fso.dictionaryStack[len(fso.dictionaryStack) - 1]['a'], 1)