public void DynamicBinaryNoOverride() { dynamic x = new TestDynamic(); dynamic y = new TestDynamic(); Assert.Throws <RuntimeBinderException>(() => x + y); }
public void AttemptWriteReadonlyField() { TestDynamic td = new TestDynamic(); dynamic d = td; Assert.Throws <RuntimeBinderException>(() => d.ReadonlyField = 3); Assert.Equal(0, td.ReadonlyField); // Confirm exception happened before a write, rather than after. }
public void ReadWriteHidingField() { TestDynamic td = new TestDynamic(); dynamic d = td; td.HideField = 9; Assert.Equal(9, d.HideField); Assert.Equal(9, td.HideField); Assert.Equal(0, ((TestDynamicBase)td).HideField); }
public void IndexingFromStaticMember() { dynamic d = new TestDynamic(); d[0] = 1; Assert.Equal(1, d[0]); Assert.Throws <RuntimeBinderException>(() => d[0] = "One"); Assert.Throws <RuntimeBinderException>(() => { string val = d[0]; }); Assert.Throws <RuntimeBinderException>(() => d["index"]); }
public void DynamicUnaryOperationNoOverrides() { dynamic d = new TestDynamic(); Assert.Throws <RuntimeBinderException>(() => - d); }
public void IndexingFromStaticMember() { dynamic d = new TestDynamic(); d[0] = 1; Assert.Equal(1, d[0]); Assert.Throws<RuntimeBinderException>(() => d[0] = "One"); Assert.Throws<RuntimeBinderException>(() => { string val = d[0]; }); Assert.Throws<RuntimeBinderException>(() => d["index"]); }
public void DynamicBinaryNoOverride() { dynamic x = new TestDynamic(); dynamic y = new TestDynamic(); Assert.Throws<RuntimeBinderException>(() => x + y); }
public void DynamicUnaryOperationNoOverrides() { dynamic d = new TestDynamic(); Assert.Throws<RuntimeBinderException>(() => -d); }
public void AttemptWriteReadonlyField() { TestDynamic td = new TestDynamic(); dynamic d = td; Assert.Throws<RuntimeBinderException>(() => d.ReadonlyField = 3); Assert.Equal(0, td.ReadonlyField); // Confirm exception happened before a write, rather than after. }