public void ArraysAndObjects()
{
Interpret(@"var p = {
phones: [{type: 'mobile', num: 903}, {type: 'work', num: 836}]
};
var a = [p, p];
var type1 = a[0].phones[0].type;
var num1 = a[0].phones[0].num;
var type2 = a[1].phones[1].type;
var num2 = a[1].phones[1].num;")
.Equal("type1", "mobile")
.Equal("num1", 903)
.Equal("type2", "work")
.Equal("num2", 836);
Interpret(@"a[0].phones[0].type = 'work';
type1 = a[0].phones[0].type;
num1 = a[0].phones[0].num = 836;
type2 = a[1].phones[1].type = 'mobile';
num2 = a[1].phones[1].num = 903;")
.Equal("type1", "work")
.Equal("num1", 836)
.Equal("type2", "mobile")
.Equal("num2", 903);
}