def testSettingsOptions(self): self.assertRaises(ValueError, lambda: settings.Option('test', 1)) self.assertRaises( avg.Exception, lambda: settings.Settings( [Option('foo', 'bar'), Option('foo', 'bar')])) s = settings.Settings([Option('foo', 'bar')]) self.assertRaises(avg.Exception, lambda: s.addOption(Option('foo', 'baz')))
def testSettingsTypes(self): defaults = [ Option('test_boolean', 'True', 'help'), Option('test_string', 'string'), Option('another_value_int', '1234'), Option('test_2d', '1280x1024'), Option('test_2d_alt', '1280,1024'), Option('test_float', '12.345'), Option('test_json', '[1, null,3 , "string", 12.345]') ] s = settings.Settings(defaults) self.assertEquals(s.getBoolean('test_boolean'), True) self.assertEquals(type(s.get('test_string')), str) self.assertRaises(ValueError, lambda: s.getBoolean('test_string')) self.assertEquals(s.getInt('another_value_int'), 1234) self.assertRaises(ValueError, lambda: s.getInt('test_string')) self.assertEquals(s.get('another_value_int'), '1234') self.assertEquals(s.getPoint2D('test_2d'), libavg.Point2D(1280, 1024)) self.assertEquals(s.getPoint2D('test_2d_alt'), libavg.Point2D(1280, 1024)) self.assertRaises(ValueError, lambda: s.getInt('test_2d')) self.assertEquals(s.getFloat('test_float'), 12.345) self.assertEquals(s.getJson('test_json'), [1, None, 3, 'string', 12.345])
def testSettingsSet(self): s = settings.Settings() s.addOption(Option('test_value', '')) self.assertRaises(ValueError, lambda: s.set('test_value', 1234)) s.set('test_value', '1234') self.assertEquals(s.getInt('test_value'), 1234)
def testSettingsKargsExtender(self): s = settings.Settings([Option('foo_bar', 'bar')]) e = settings.KargsExtender({'foo_bar': 'baz'}) s.applyExtender(e) self.assertEquals(s.get('foo_bar'), 'baz') e = settings.KargsExtender({'foo_baxxx': 'baz'}) self.assertRaises(avg.Exception, lambda: s.applyExtender(e))
def testSettingsArgvExtender(self): s = settings.Settings([Option('foo_bar', 'bar')]) e = settings.ArgvExtender( '', args=['foo', '--foo-bar', 'baz', '-c', 'baz2']) e.parser.add_option('-c') s.applyExtender(e) self.assertEquals(s.get('foo_bar'), 'baz') self.assertEquals(e.parsedArgs[0].c, 'baz2') self.assertEquals(e.parsedArgs[1], ['foo']) e = settings.ArgvExtender('', args=['foo', '--foo-baxxx', 'baz']) with testcase.SuppressOutput(): self.assertRaises(SystemExit, lambda: s.applyExtender(e))
def testSettingsHasOption(self): s = settings.Settings() s.addOption(Option('test_value', '')) self.assertEquals(s.hasOption('test_value'), True) self.assertEquals(s.hasOption('test_value_foo'), False)