/// <summary> /// Clones this instance. /// </summary> /// <returns> /// The clone. /// </returns> public override ExpressionObjectBase Clone() { var clone = new GetArrayItemExpression(); CopyMembers(clone); return clone; }
public void Clone_Returns_GetArrayItemExpression() { // Arrange. const string ExpressionName = "Test Expression"; const string FunctionName = "Test Function"; const double Left = 100.0; const double Top = 200.0; const double Width = 300.0; const double Height = 400.0; var functionExpression = new GetArrayItemExpression { ExpressionName = ExpressionName, FunctionName = FunctionName, Left = Left, Top = Top, Width = Width, Height = Height }; // Act. var clone = functionExpression.Clone() as GetArrayItemExpression; // Assert. Assert.IsNotNull(clone); Assert.AreEqual(ExpressionNodeType.GetArrayItem, clone.Type); Assert.AreEqual(ExpressionName, clone.ExpressionName); Assert.AreEqual(FunctionName, clone.FunctionName); Assert.AreEqual(Left, clone.Left); Assert.AreEqual(Top, clone.Top); Assert.AreEqual(Width, clone.Width); Assert.AreEqual(Height, clone.Height); }
public void WhenFirstInputConnectorIsConnected_OutputConnectorDataTypeIsUpdated() { // Arrange. var functionExpression = new GetArrayItemExpression(); var source = new ConstantExpression { ConnectorOut = { ElementType = NodeDataType.DateTime } }; // Act. functionExpression.Connector1In.ConnectedTo = source.ConnectorOut; // Assert. Assert.AreEqual(NodeDataType.DateTime, functionExpression.ConnectorOut.DataType); // Act. functionExpression.Connector1In.ConnectedTo = null; // Assert. Assert.AreEqual(NodeDataType.Object, functionExpression.ConnectorOut.DataType); }