Ejemplo n.º 1
0
static int ViewSize(c4_View v) {
  return v.GetSize();
}

void TestBasics2() {
  B(b20, Search sorted view, 0) {
    c4_IntProp p1("p1");
    c4_StringProp p2("p2");
    c4_View v1;
    v1.Add(p1[111] + p2["one"]);
    v1.Add(p1[222] + p2["two"]);
    v1.Add(p1[333] + p2["three"]);
    v1.Add(p1[345] + p2["four"]);
    v1.Add(p1[234] + p2["five"]);
    v1.Add(p1[123] + p2["six"]);
    c4_View v2 = v1.Sort();
    A(v2.GetSize() == 6);
    A(p1(v2[0]) == 111);
    A(p1(v2[1]) == 123);
    A(p1(v2[2]) == 222);
    A(p1(v2[3]) == 234);
    A(p1(v2[4]) == 333);
    A(p1(v2[5]) == 345);
    A(v2.Search(p1[123]) == 1);
    A(v2.Search(p1[100]) == 0);
    A(v2.Search(p1[200]) == 2);
    A(v2.Search(p1[400]) == 6);
    c4_View v3 = v1.SortOn(p2);
    A(v3.GetSize() == 6);
    A(p1(v3[0]) == 234);
    A(p1(v3[1]) == 345);