IronRuby.Tests.Tests.CustomTypeDescriptor1 C# (CSharp) Method

CustomTypeDescriptor1() public method

public CustomTypeDescriptor1 ( ) : void
return void
        public void CustomTypeDescriptor1() {
            object cls = Engine.Execute(@"
class C
  attr_accessor :a
  def b
  end
  def b= x
    @written = true
  end
  def c
    @written
  end
  def d= x
  end
  def e x
  end
  def e= x
  end
  def initialize
    @a = 'Hello world'
    @written = false
  end
  self
end
");
            object obj = Engine.Operations.CreateInstance(cls);
            Assert(obj != null);
            var ictd = Engine.Operations.CreateInstance(cls) as ICustomTypeDescriptor;
            Assert(ictd != null);
            Assert(ictd.GetClassName() == "C");
            var props = ictd.GetProperties();
            Assert(props.Count == 2);
            props[0].SetValue(obj, "abc");
            props[1].SetValue(obj, "abc");
            Assert((string)Engine.Operations.InvokeMember(obj, "a") == "abc");
            Assert((bool)Engine.Operations.InvokeMember(obj, "c"));
        }
Tests