public void NestedObjects()
{
Interpret(
@"var n = 10, phone = {mobile: 903, home: 836};
var p = {
name: 'John',
age: n,
car: {
brand: 'Toyota',
price: 69.5,
distributor: {name: 'D1', phone: phone}
}
};");
Interpret(@"var brand = p.car.brand,
price = p.car.price,
dname = p.car.distributor.name,
dmobile = p.car.distributor.phone.mobile,
dhome = p.car.distributor.phone.home
;")
.Equal("brand", "Toyota")
.Equal("price", 69.5)
.Equal("dname", "D1")
.Equal("dmobile", 903)
.Equal("dhome", 836);
Interpret(@"brand = p.car.brand = 'BMW';
price = p.car.price = 70;
dname = p.car.distributor.name = 'D2';
dmobile = p.car.distributor.phone.mobile = 908;
dhome = p.car.distributor.phone.home = 878;")
.Equal("p.car.brand", "BMW")
.Equal("price", 70)
.Equal("p.car.distributor.name", "D2")
.Equal("dmobile", 908)
.Equal("p.car.distributor.phone.home", 878);
}