KingNET.WebUI/Scripts/linqjs/test/projection.js

(开头部分) 3KB

这里只显示每个文件的开头 60 行。登录后可以解锁完整代码。

/// <reference path="testrunner.htm"/>

module("Projection");

test("CascadeDepthFirst", function ()
{
    actual = Enumerable.Return(1).CascadeDepthFirst("$+$").Take(7).ToArray();
    deepEqual(actual, [1, 2, 4, 8, 16, 32, 64]);
    actual = Enumerable.Return(1).CascadeDepthFirst("$+$", "v,nl=>{v:v,nl:nl}").Take(3).ToArray();
    deepEqual(actual, [{ v: 1, nl: 0 }, { v: 2, nl: 1 }, { v: 4, nl: 2}]);
});

test("CascadeBreadthFirst", function ()
{
    actual = Enumerable.Return(1).CascadeBreadthFirst("$+$").Take(7).ToArray();
    deepEqual(actual, [1, 2, 4, 8, 16, 32, 64]);
    actual = Enumerable.Return(1).CascadeBreadthFirst("$+$", "v,nl=>{v:v,nl:nl}").Take(3).ToArray();
    deepEqual(actual, [{ v: 1, nl: 0 }, { v: 2, nl: 1 }, { v: 4, nl: 2}]);
});

test("Flatten", function ()
{
    var array = [1, 31, [431, 41, 5], [1431, 43, [344, 3], 43], 43];
    actual = Enumerable.From(array).Flatten().ToArray();
    deepEqual(actual, [1, 31, 431, 41, 5, 1431, 43, 344, 3, 43, 43]);
});

test("Pairwise", function ()
{
    actual = Enumerable.Range(1, 4).Pairwise("prev,next=>{p:prev,n:next}").ToArray();
    deepEqual(actual, [{ p: 1, n: 2 }, { p: 2, n: 3 }, { p: 3, n: 4}]);
});

test("Scan", function ()
{
    actual = Enumerable.Range(1, 10).Scan("a,b=>a+b").ToArray();
    deepEqual(actual, [1, 3, 6, 10, 15, 21, 28, 36, 45, 55]);
    var seed = 100;
    actual = Enumerable.Range(1, 10).Scan(seed, "a,b=>a+b").ToArray();
    deepEqual(actual, [100, 101, 103, 106, 110, 115, 121, 128, 136, 145, 155]);
    actual = Enumerable.Range(1, 10).Scan(seed, "a,b=>a+b", "val=>val*10").ToArray();
    deepEqual(actual, [1000, 1010, 1030, 1060, 1100, 1150, 1210, 1280, 1360, 1450, 1550]);
});

test("Select", function ()
{
    actual = Enumerable.Range(1, 10).Select("i=>i*10").ToArray();
    deepEqual(actual, [10, 20, 30, 40, 50, 60, 70, 80, 90, 100]);
    actual = Enumerable.Range(1, 10).Select("i,index=>i*10+index").ToArray();
    deepEqual(actual, [10, 21, 32, 43, 54, 65, 76, 87, 98, 109]);
});

test("SelectMany", function ()
{
    actual = Enumerable.Range(1, 5).SelectMany("i=>Enumerable.Repeat(i,2)").ToArray();
    deepEqual(actual, [1, 1, 2, 2, 3, 3, 4, 4, 5, 5]);
    actual = Enumerable.Range(1, 5).SelectMany("i,index=>Enumerable.Repeat(i,index+1)").ToArray();
    deepEqual(actual, [1, 2, 2, 3, 3, 3, 4, 4, 4, 4, 5, 5, 5, 5, 5]);
    actual = Enumerable.Range(1, 5).SelectMany("i=>Enumerable.Repeat(i,2)", "i=>i*10").ToArray();
    deepEqual(actual, [10, 10, 20, 20, 30, 30, 40, 40, 50, 50]);
后面还有 31 行代码,解锁后查看完整代码

24 小时内免费解锁 3 个项目,之后 1 算力/个。 规则说明

AI 解读 AI

登录后可用,每次 10 算力,解读结果公开显示在下面。

还没有人解读过这个文件。