예제 #1
0
    def test_instantiation(self):
        """Test proper instantiation of object 'User()'"""

        ci = City()
        self.assertIsInstance(ci, City)
        self.assertIsInstance(ci.id, str)
        self.assertIsInstance(ci.created_at, datetime.datetime)
        self.assertIsInstance(ci.updated_at, datetime.datetime)
        self.assertIsInstance(ci.__class__, type)

        ci.size = "tall"
        l1 = dir(ci)
        self.assertIn('size', l1)
        self.assertEqual(ci.__dict__['size'], 'tall')

        ci.size = 'tall'
        l2 = dir(ci)
        self.assertIn('size', l2)
        self.assertEqual(ci.__dict__['size'], 'tall')

        ci.age = 28
        l3 = dir(ci)
        self.assertIn('age', l3)
        self.assertEqual(ci.__dict__['age'], 28)

        ci.age = 28.5
        l4 = dir(ci)
        self.assertIn('age', l4)
        self.assertEqual(ci.__dict__['age'], 28.5)

        ci.age = None
        l5 = dir(ci)
        self.assertIn('age', l5)
        self.assertEqual(ci.__dict__['age'], None)

        ci_kw1 = City(**{})
        self.assertIsInstance(ci_kw1, City)
        self.assertIsInstance(ci_kw1.id, str)
        self.assertIsInstance(ci_kw1.created_at, datetime.datetime)
        self.assertIsInstance(ci_kw1.updated_at, datetime.datetime)
        self.assertIsInstance(ci_kw1.__class__, type)

        ci_kw2 = City(**{"first_name": "John", "age": 25})
        l6 = dir(ci_kw2)
        self.assertIn('first_name', l6)
        self.assertIn('age', l6)
        self.assertEqual(ci_kw2.__dict__['first_name'], 'John')
        self.assertEqual(ci_kw2.__dict__['age'], 25)
예제 #2
0
    def test_to_dict(self):
        """Test to_dict method"""

        ci = City()
        ci.age = 28
        ci.size = "tall"
        for k, v in ci.__dict__.items():
            if k != 'updated_at' and k != 'created_at':
                self.assertIn(k, ci.to_dict())
                self.assertEqual(v, ci.to_dict()[k])
        self.assertEqual(ci.to_dict()['__class__'], ci.__class__.__name__)
        self.assertEqual(ci.to_dict()['updated_at'], ci.updated_at.isoformat())
        self.assertEqual(ci.to_dict()['created_at'], ci.created_at.isoformat())
        self.assertEqual(ci.to_dict()['age'], 28)
        self.assertEqual(ci.to_dict()['size'], 'tall')
        self.assertIsInstance(ci.to_dict(), dict)