summaryrefslogtreecommitdiff
path: root/tests/test_derivatives.py
blob: f79123cadde186dd698a01167645ba2060faae41 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
import shutil
import tempfile
import unittest

import lesana
from lesana import types


class DerivedType(types.LesanaString):
    """
    A custom type
    """
    name = 'derived'


class Derivative(lesana.Collection):
    """
    A class serived from lesana.Collection
    """


class testDerivatives(unittest.TestCase):
    def setUp(self):
        self.tmpdir = tempfile.mkdtemp()
        shutil.copytree(
            'tests/data/derivative',
            self.tmpdir,
            dirs_exist_ok=True
        )
        self.collection = Derivative(self.tmpdir)

    def tearDown(self):
        shutil.rmtree(self.tmpdir)

    def test_load_subclasses(self):
        self.assertIsInstance(self.collection.fields['unknown'], DerivedType)


if __name__ == '__main__':
    unittest.main()