skip to navigation
skip to content

Not Logged In

interface-mixins 0.0.1

Interfaces for Python

Latest Version: 0.0.2

To create an Interface, pass it an interface name and a list of method names:

AnInterface = Interface('AnInterface', [
    'some',
    'methods',
    'the',
    'interface',
    'should',
    'have'
])

We also provide a way to create abstract test cases to help test objects against the interface:

AbstractTestAnInterface = AbstractInterfaceTest('AbstractTestAnInterface', [
    'some',
    'methods',
    'the',
    'interface',
    'should',
    'have'
])

These tests can be used by creating TestCases which inherit from from the abstract test. This makes sure each method is implemented in AClass:

from unittest import TestCase

class TestAClass(AbstractTestAnInterface, TestCase):
    def setUp(self):
        self.obj = AClass()

It is also possible to create both the Interface and the AbstractInterfaceTest at the same time. Also, you can create multiple interfaces using the following idiom [1]:

interfaces = {
    'AnInterface': [
        'some',
        'methods',
        'the',
        'interface',
        'should',
        'have'
    ],
    'AnotherInterface': [
        'different',
        'methods'
    ]
}

for interface_name, methods in interfaces.iteritems():
    interface_name += 'Interface'
    globals()[interface_name] = Interface(interface_name, methods)
    test_name = 'AbstractTest' + interface_name
    globals()[test_name] = AbstractInterfaceTest(test_name, methods)
[1]This isn't very idiomatic Python. The use globals is ugly. This is just an idiom for using this library. I'm not sure I like it.
 
File Type Py Version Uploaded on Size
interface-mixins-0.0.1.tar.gz (md5) Source 2014-02-02 2KB
  • Downloads (All Versions):
  • 9 downloads in the last day
  • 39 downloads in the last week
  • 239 downloads in the last month