foonc / foonctest /

import unittest

from foonc import foonc

def inc(x):
    return x + 1

class FooncTests(unittest.TestCase):
    def setUp(self):
        super(FooncTests, self).setUp()

    def test_const(self):
        self.assertEqual(42, foonc.const(42)('whatever', is_passed='in'))

    def test_compose2(self):
        f = foonc._compose2(inc, int)
        self.assertEqual(42, f('41'))

    def test_compose_args(self):
        f = foonc.compose(str, inc, int)
        self.assertEqual('42', f('41'))

    def test_compose_list(self):
        f = foonc.compose([str, inc, int])
        self.assertEqual('42', f('41'))

    def test_flip(self):
        def f(*args):
            return args
        flipped = foonc.flip(f)
        self.assertEqual((3, 2, 1), flipped(1, 2, 3))

class FooncWrapperTests(unittest.TestCase):
    def setUp(self):
        super(FooncWrapperTests, self).setUp()

    def test_left_shift(self):
        f = foonc.wrap(int) >> inc
        self.assertEqual(42, f('41'))

def suite():
    suite = unittest.TestSuite()
    return suite

if __name__ == '__main__':
Tip: Filter by directory path e.g. /media app.js to search for public/media/app.js.
Tip: Use camelCasing e.g. ProjME to search for
Tip: Filter by extension type e.g. /repo .js to search for all .js files in the /repo directory.
Tip: Separate your search with spaces e.g. /ssh pom.xml to search for src/ssh/pom.xml.
Tip: Use ↑ and ↓ arrow keys to navigate and return to view the file.
Tip: You can also navigate files with Ctrl+j (next) and Ctrl+k (previous) and view the file with Ctrl+o.
Tip: You can also navigate files with Alt+j (next) and Alt+k (previous) and view the file with Alt+o.