deb-murano/murano/tests/unit/common/test_is_different.py
Tetiana Lashchova e09aebefed Add prefix 'test' to unit test module names
Some unit tests are not executed since prefix 'test' is missed
in module names. This patch renames such modules.

Change-Id: I62660739bdcb9d5c94eacb186fcc79c3e07b0e8c
2015-09-29 12:07:39 +03:00

116 lines
3.2 KiB
Python

# Copyright (c) 2013 Mirantis, Inc.
#
# Licensed under the Apache License, Version 2.0 (the "License"); you may
# not use this file except in compliance with the License. You may obtain
# a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
# WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
# License for the specific language governing permissions and limitations
# under the License.
from murano.common import utils
from murano.tests.unit import base
class IsDifferentTests(base.MuranoTestCase):
def test_equal_dicts(self):
obj1 = {'first': 10, 'second': 12}
obj2 = {'second': 12, 'first': 10}
comparison = utils.is_different(obj1, obj2)
self.assertFalse(comparison)
def test_different_dicts(self):
obj1 = {'first': 10, 'second': 11}
obj2 = {'first': 10, 'second': 12}
comparison = utils.is_different(obj1, obj2)
self.assertTrue(comparison)
def test_different_objs(self):
class Cls1(object):
a = 10
class Cls2(object):
b = 20
obj1 = Cls1()
obj2 = Cls2()
obj3 = Cls1()
obj3.a = {'one': 14, 'two': [(1, 2, 3), 'more']}
comparison1 = utils.is_different(obj1, obj2)
comparison2 = utils.is_different(obj1, obj3)
self.assertTrue(comparison1)
self.assertTrue(comparison2)
def test_equal_objs(self):
class Cls(object):
pass
obj1 = Cls()
obj2 = Cls()
obj1.a = {'one': 14, 'two': [(1, 2, 3), 'more']}
obj2.a = {'one': 14, 'two': [(1, 2, 3), 'more']}
comparison = utils.is_different(obj1, obj2)
self.assertFalse(comparison)
def test_equal_circular_objs(self):
class Cls(object):
pass
lst1 = [1, 2, 3]
lst2 = [1, 2, 3]
lst1.append(lst1)
lst2.append(lst2)
dct1 = {'one': 10, 'two': lst1}
dct2 = {'one': 10, 'two': lst1}
obj1 = Cls()
obj2 = Cls()
obj1.a = obj2.a = 10
obj1.self = obj1
obj2.self = obj2
comparison = utils.is_different(lst1, lst2)
comparison2 = utils.is_different(dct1, dct2)
comparison3 = utils.is_different(obj1, obj2)
self.assertFalse(comparison)
self.assertFalse(comparison2)
self.assertFalse(comparison3)
def test_different_circular_objs(self):
class Cls(object):
pass
obj1 = Cls()
obj2 = Cls()
obj1.self = obj1
obj2.self = {'self': obj2}
dct1 = {'one': [1, 2], 'three': 10}
dct2 = {'one': [1, 2]}
dct1['self'] = dct1
dct2['self'] = dct2
comparison = utils.is_different(obj1, obj2)
comparison1 = utils.is_different(dct1, dct2)
self.assertTrue(comparison)
self.assertTrue(comparison1)
def test_strings_are_compared_regardless_of_type(self):
str1 = 'string'
str2 = u'string'
comparison = utils.is_different(str1, str2)
self.assertFalse(comparison)