public void ArrayMethods()
{
Interpret(@"var a = [];
var i = 0;
while (i < 10) a[i++] = i;
var size = a.size();
var last = a[size - 1];")
.Equal("size", 10)
.Equal("last", 9);
Interpret(@"a = [];
a[3] = 1;
var first = a[0];
a[0] = 0;
var second = a[0];")
.Null("first")
.Equal("second", 0);
Interpret(@"a = [1, 2, 3, 4];
var sum = 0;
a.each(func(ele) {sum += ele;});")
.Equal("sum", 10);
Interpret(@"a = [1, 2, 3, 4];
var f = a.filter(func(ele) {ele % 2 == 0;});
var sf = f.size();")
.Equal("sf", 2);
Interpret(@"a = [1, 2, 3, 4];
var has = a.has(3) || [1, 2, 3, 4].has(4);")
.Equal("has", true);
Interpret(@"a = [];
a.add(1);
var e = a[0] + 1;")
.Equal("e", 2);
}