Subversion Repositories Applications.papyrus

Rev

Blame | Last modification | View Log | RSS feed

if(!dojo._hasResource["dojox.lang.tests.curry"]){ //_hasResource checks added by build. Do not use _hasResource directly in your code.
dojo._hasResource["dojox.lang.tests.curry"] = true;
dojo.provide("dojox.lang.tests.curry");
dojo.require("dojox.lang.functional");

(function(){
        var df = dojox.lang.functional, add5 = df.curry("+")(5), sub3 = df.curry("_-3"), fun = df.lambda("100*a + 10*b + c");
        tests.register("dojox.lang.tests.curry", [
                function testCurry1(t){ t.assertEqual(df.curry("+")(1, 2), 3); },
                function testCurry2(t){ t.assertEqual(df.curry("+")(1)(2), 3); },
                function testCurry3(t){ t.assertEqual(df.curry("+")(1, 2, 3), 3); },
                function testCurry4(t){ t.assertEqual(add5(1), 6); },
                function testCurry5(t){ t.assertEqual(add5(3), 8); },
                function testCurry6(t){ t.assertEqual(add5(5), 10); },
                function testCurry7(t){ t.assertEqual(sub3(1), -2); },
                function testCurry8(t){ t.assertEqual(sub3(3), 0); },
                function testCurry9(t){ t.assertEqual(sub3(5), 2); },
                
                function testPartial1(t){ t.assertEqual(df.partial(fun, 1, 2, 3)(), 123); },
                function testPartial2(t){ t.assertEqual(df.partial(fun, 1, 2, df.arg)(3), 123); },
                function testPartial3(t){ t.assertEqual(df.partial(fun, 1, df.arg, 3)(2), 123); },
                function testPartial4(t){ t.assertEqual(df.partial(fun, 1, df.arg, df.arg)(2, 3), 123); },
                function testPartial5(t){ t.assertEqual(df.partial(fun, df.arg, 2, 3)(1), 123); },
                function testPartial6(t){ t.assertEqual(df.partial(fun, df.arg, 2, df.arg)(1, 3), 123); },
                function testPartial7(t){ t.assertEqual(df.partial(fun, df.arg, df.arg, 3)(1, 2), 123); },
                function testPartial8(t){ t.assertEqual(df.partial(fun, df.arg, df.arg, df.arg)(1, 2, 3), 123); }
        ]);
})();

}