#!/usr/bin/env python
# -----------------------------------------------------------------------
# Copyright (C) 2003 Chris Ottrey.
#
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation; either version 2 of the License, or
# (at your option) any later version.
#
# This program is distributed in the hope that it will be useful, but
# WITHOUT ANY WARRANTY; without even the implied warranty of MER-
# CHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General
# Public License for more details.
# -----------------------------------------------------------------------
#
# This code is part of the pytvgrab project:
# http://pytvgrab.sourceforge.net
#
# -----------------------------------------------------------------------
# Subversion Information, do not edit
#
# $Rev: 246 $
# $LastChangedDate: 2004-10-14 03:16:23 +1000 (Thu, 14 Oct 2004) $
# $LastChangedRevision: 246 $
# $LastChangedBy: gustavo $
#
# $Log: $
#
"""\
Enum
Provide a simple enumeration for list of 'names' at offset 'x'
"""
class Enum(dict):
"""\
Enum
Enum(names, x=0)
"""
def __init__(self, names, x=0):
for i in range(x, x+len(names)):
self.__dict__[names[i-x]]=i
self[i]=names[i-x]
# __init__()
# Enum
# -------------- Unit Tests -------------- #
using_unittest2=False
try:
import unittest2 as unittest
using_unittest2=True
except:
import unittest
class Enum_UnitTest(unittest.TestCase):
def setUp(self):
self.marsupial=Enum(['kangaroo', 'koala', 'potoroo', 'bilby', 'thylacine'], 1)
# setUp()
def test01(self): v=self.marsupial.kangaroo; assert v == 1, v
def test02(self): v=self.marsupial[2] ; assert v == 'koala', v
def test03(self): v=self.marsupial[self.marsupial.potoroo]; assert v == 'potoroo', v
if using_unittest2 or __name__ == '__main__':
unittest.main()
# -------------- Unit Tests -------------- #
|