public void GetObjectInMethodCallFromSpecifiedObject() { string RubyCode = "self.Controls.AddRange(System::Array[System::Windows::Forms::ToolStripItem].new(\r\n" + " [@fileToolStripMenuItem,\r\n" + " @editToolStripMenuItem]))"; MethodCall callExpression = RubyParserHelper.GetMethodCall(RubyCode); using (Form form = new Form()) { Assert.AreSame(form.Controls, RubyControlFieldExpression.GetMember(form, callExpression)); } }
public void UpperCaseClrMemberMethodCallIsConvertedToActualMemberNames() { string code = "@pictureBox1.CLR_MEMBER(System::ComponentModel::ISupportInitialize, :BeginInit).call()\r\n"; MethodCall expression = RubyParserHelper.GetMethodCall(code); RubyControlFieldExpression field = RubyControlFieldExpression.Create(expression); RubyControlFieldExpression expectedField = new RubyControlFieldExpression(String.Empty, "pictureBox1", "BeginInit", "@pictureBox1"); Assert.AreEqual(expectedField, field); }
public void LocalVariableMethodCall() { string code = "listViewItem1 = System::Windows::Forms::ListViewItem.new()\r\n" + "listViewItem1.CallMethod()\r\n"; MethodCall expression = RubyParserHelper.GetLastExpression(code) as MethodCall; RubyControlFieldExpression field = RubyControlFieldExpression.Create(expression); RubyControlFieldExpression expectedField = new RubyControlFieldExpression(String.Empty, String.Empty, "CallMethod", "listViewItem1"); Assert.AreEqual(expectedField, field); }
public void GetObjectForUnknownComponent() { string RubyCode = "@menuStrip1.SuspendLayout()"; MethodCall call = RubyParserHelper.GetMethodCall(RubyCode); RubyControlFieldExpression field = RubyControlFieldExpression.Create(call); using (MenuStrip menuStrip = new MenuStrip()) { MockComponentCreator creator = new MockComponentCreator(); creator.Add(menuStrip, "unknown"); Assert.IsNull(field.GetMember(creator)); } }
public void SetUpFixture() { componentCreator = new MockComponentCreator(); listViewItem1 = (ListViewItem)componentCreator.CreateInstance(typeof(ListViewItem), new object[0], "listViewItem1", false); MethodCall callExpression = RubyParserHelper.GetMethodCall(RubyCode); mockDesignerLoaderHost = new MockDesignerLoaderHost(); typeResolutionService = mockDesignerLoaderHost.TypeResolutionService; RubyCodeDeserializer deserializer = new RubyCodeDeserializer(componentCreator); deserializedObject = deserializer.Deserialize(callExpression.Arguments.Expressions[0]); }
public void SetUpFixture() { componentCreator = new MockComponentCreator(); SimpleAssignmentExpression assignment = RubyParserHelper.GetSimpleAssignmentExpression(GetRubyCode()); rhsAssignmentExpression = assignment.Right; mockDesignerLoaderHost = new MockDesignerLoaderHost(); typeResolutionService = mockDesignerLoaderHost.TypeResolutionService; RubyCodeDeserializer deserializer = new RubyCodeDeserializer(componentCreator); deserializedObject = deserializer.Deserialize(rhsAssignmentExpression); }
public void GetObjectInMethodCall() { string RubyCode = "@menuStrip1.Items.AddRange(System::Array[System::Windows::Forms::ToolStripItem].new(\r\n" + " [@fileToolStripMenuItem,\r\n" + " @editToolStripMenuItem]))"; MethodCall call = RubyParserHelper.GetMethodCall(RubyCode); RubyControlFieldExpression field = RubyControlFieldExpression.Create(call); using (MenuStrip menuStrip = new MenuStrip()) { MockComponentCreator creator = new MockComponentCreator(); creator.Add(menuStrip, "menuStrip1"); Assert.AreSame(menuStrip.Items, field.GetMember(creator)); } }
public void EnumReturnedInArgumentsPassedToConstructor() { string rubyCode = "self.Font = System::Drawing::Font.new(\"Times New Roman\", System::Drawing::FontStyle.Regular, System::Drawing::GraphicsUnit.Point)"; SimpleAssignmentExpression assignment = RubyParserHelper.GetSimpleAssignmentExpression(rubyCode); List <object> expectedArgs = new List <object>(); expectedArgs.Add("Times New Roman"); expectedArgs.Add(FontStyle.Regular); expectedArgs.Add(GraphicsUnit.Point); List <object> args = deserializer.GetArguments(assignment.Right as MethodCall); Assert.AreEqual(expectedArgs, args); }
public void LocalVariableInstance() { string s = "abc"; CreatedInstance instance = new CreatedInstance(typeof(string), new object[0], "localVariable", false); instance.Object = s; componentCreator.CreatedInstances.Add(instance); List <object> expectedArgs = new List <object>(); expectedArgs.Add(s); string code = "TestClass(localVariable)"; MethodCall callExpression = RubyParserHelper.GetMethodCall(code); List <object> args = deserializer.GetArguments(callExpression); Assert.AreEqual(expectedArgs, args); }
public void GetInstanceObjectInMethodCall() { string RubyCode = "treeNode1.Nodes.AddRange(System::Array[System::Windows::Forms::TreeNode].new(\r\n" + " [treeNode2]))"; MethodCall callExpression = RubyParserHelper.GetMethodCall(RubyCode); RubyControlFieldExpression field = RubyControlFieldExpression.Create(callExpression); TreeNode treeNode1 = new TreeNode(); TreeNode treeNode2 = new TreeNode(); MockComponentCreator creator = new MockComponentCreator(); creator.AddInstance(treeNode1, "treeNode1"); creator.AddInstance(treeNode2, "treeNode2"); object member = field.GetMember(creator); Assert.AreSame(treeNode1.Nodes, member); }
public void FullMemberExpression() { MethodCall call = RubyParserHelper.GetMethodCall("self.a.b.Add()"); Assert.AreEqual("self.a.b.Add", RubyControlFieldExpression.GetMemberName(call)); }
/// <summary> /// Deserializes the right hand side of the assignment. /// </summary> object DeserializeRhsAssignment(string rubyCode) { return(deserializer.Deserialize(RubyParserHelper.GetSimpleAssignmentExpression(rubyCode).Right)); }