#!/usr/bin/env python3 # -*- coding: utf-8 -*- # Copyright 2014 The Chromium OS Authors. All rights reserved. # Use of this source code is governed by a BSD-style license that can be # found in the LICENSE file. """Unit tests for config.py""" from __future__ import print_function import unittest import config class ConfigTestCase(unittest.TestCase): """Class for the config unit tests.""" def test_config(self): # Verify that config exists, that it's a dictionary, and that it's # empty. self.assertTrue(isinstance(config.config, dict)) self.assertEqual(len(config.config), 0) # Verify that attempting to get a non-existant key out of the # dictionary returns None. self.assertIsNone(config.GetConfig('rabbit')) self.assertIsNone(config.GetConfig('key1')) config.AddConfig('key1', 16) config.AddConfig('key2', 32) config.AddConfig('key3', 'third value') # Verify that after 3 calls to AddConfig we have 3 values in the # dictionary. self.assertEqual(len(config.config), 3) # Verify that GetConfig works and gets the expected values. self.assertIs(config.GetConfig('key2'), 32) self.assertIs(config.GetConfig('key3'), 'third value') self.assertIs(config.GetConfig('key1'), 16) # Re-set config. config.config.clear() # Verify that config exists, that it's a dictionary, and that it's # empty. self.assertTrue(isinstance(config.config, dict)) self.assertEqual(len(config.config), 0) if __name__ == '__main__': unittest.main()