DynamoDS/Dynamo — pull request #1266 by Benglin (2014-03-12 11:59:30+00:00)
Title: UI Node Movement and Unit Test Fixes

This is a follow-up pull request from a [previous work](https://github.com/DynamoDS/Dynamo/commit/88d019158c6d1bc09a29233bddb66e0e980b0d19) to bring UI related nodes into ```Nodes``` sub-directory. Multiple projects that reference these UI nodes mistakenly copied them back into ```$(OutDir)``` folder, resulting in same assembly being loaded twice in NUnit test. The fix to this is of course to set ```Copy Local``` of the references to the following assemblies to ```false```:

```
DSCoreNodesUI.dll
DSIronPythonNode.dll
DSRevitNodesUI.dll
DynamoWatch3D.dll
```

Having the same assembly loaded twice will cause the following type cast to fail (even the object instance is of the same type):

```
var nodeModel = GetNode(guid); // Returns DSIronPythonNode.PythonNode instance
var pythonNode = nodeModel as DSIronPythonNode.PythonNode; // pythonNode == null
```

Just for the record, this pull request fixes the following 69 test cases:

```
Dynamo.Tests.CoreDynTests.AddSubtractMapReduceFilterBasic
Dynamo.Tests.CoreDynTests.ReadImageFile
Dynamo.Tests.DSEvaluationTest.CBN_Class_GetterProperty_625
Dynamo.Tests.DSEvaluationTest.CBN_Geometry_Array_609_4
Dynamo.Tests.DSEvaluationTest.CBN_Geometry_Conditional_609_3
Dynamo.Tests.DSEvaluationTest.CBN_Geometry_Expression_609_2
Dynamo.Tests.DSEvaluationTest.CBN_Geometry_RangeExpression_609
Dynamo.Tests.DSEvaluationTest.CBN_Math_Pi_621
Dynamo.Tests.DSEvaluationTest.Regress616
Dynamo.Tests.DSEvaluationTest.Regress618
Dynamo.Tests.DSEvaluationTest.Regress657
Dynamo.Tests.DSEvaluationTest.Regress664
Dynamo.Tests.DSEvaluationTest.Regress737
Dynamo.Tests.DSEvaluationTest.TestCodeBlockNode01
Dynamo.Tests.DSFunctionNodeTest.TestCount
Dynamo.Tests.DynamoDefects.Defect_MAGN_942_Equal
Dynamo.Tests.DynamoDefects.Defect_MAGN_942_GreaterThan
Dynamo.Tests.DynamoDefects.Defect_MAGN_942_GreaterThanOrEqual
Dynamo.Tests.DynamoDefects.Defect_MAGN_942_LessThan
Dynamo.Tests.ListTests.Combine_NegativeTest
Dynamo.Tests.ListTests.Combine_SimpleTest
Dynamo.Tests.ListTests.DropEveryNth_InputStringForNth
Dynamo.Tests.ListTests.DropEveryNth_SimpleTest
Dynamo.Tests.ListTests.DropFromList_SimpleTest
Dynamo.Tests.ListTests.Filter_Complex
Dynamo.Tests.ListTests.Filter_NegativeTest
Dynamo.Tests.ListTests.Filter_SimpleTest
Dynamo.Tests.ListTests.FilterOut_Complex
Dynamo.Tests.ListTests.FilterOut_NegativeTest
Dynamo.Tests.ListTests.FilterOut_SimpleTest
Dynamo.Tests.ListTests.GetFromList_AmtAsRangeExpn
Dynamo.Tests.ListTests.GetFromList_Negative
Dynamo.Tests.ListTests.GetFromList_WithStringList
Dynamo.Tests.ListTests.JoinList_SimpleTest
Dynamo.Tests.ListTests.LaceShortest_NegativeInput
Dynamo.Tests.ListTests.LaceShortest_Simple
Dynamo.Tests.ListTests.NumberRange_LacingLongest
Dynamo.Tests.ListTests.NumberRange_LacingShortest
Dynamo.Tests.ListTests.NumberRange_LargeNumber
Dynamo.Tests.ListTests.NumberRange_SimpleTest
Dynamo.Tests.ListTests.RemoveFromList_RangeExpnAsIndex
Dynamo.Tests.ListTests.RemoveFromList_StringAsIndex
Dynamo.Tests.ListTests.Reverse_WithArrayInput
Dynamo.Tests.ListTests.ShiftListIndices_InputStringAsAmt
Dynamo.Tests.ListTests.ShiftListIndices_NegativeTest
Dynamo.Tests.ListTests.ShiftListIndices_SimpleTest
Dynamo.Tests.ListTests.SliceList_NegativeTest
Dynamo.Tests.ListTests.SliceList_SimpleTest
Dynamo.Tests.ListTests.TakeEveryNth_NegativeTest
Dynamo.Tests.ListTests.TakeEveryNth_SimpleTest
Dynamo.Tests.ListTests.TakeFromList_AmtAsRangeExpn
Dynamo.Tests.ListTests.TrueForAll_SimpleTest
Dynamo.Tests.ListTests.TrueForAny_SimpleTest
Dynamo.Tests.NodeMigrationTests.Dynamo_Nodes_NumberInput_0_6_3_25334
Dynamo.Tests.SerializationTests.TestBool
Dynamo.Tests.SerializationTests.TestDummyNodeInternals00
Dynamo.Tests.SerializationTests.TestDummyNodeInternals01
Dynamo.Tests.StringTests.TestStringToNumberFileInput
Dynamo.Tests.StringTests.TestStringToNumberFunctionInput
Dynamo.Tests.StringTests.TestStringToNumberNormalInput
Dynamo.Tests.WatchNodeTests.Watch1DCollections
Dynamo.Tests.WatchNodeTests.WatchLiterals
Dynamo.Tests.UI.RecordedTests.TestModifyPythonNodes
Dynamo.Tests.UI.RecordedTests.TestModifyPythonNodesUndo
Dynamo.Tests.UI.RecordedTests.TestModifyPythonNodesUndoRedo
Dynamo.Tests.UI.RecordedTestsDSEngine.RecordedTests.TestModifyPythonNodes
Dynamo.Tests.UI.RecordedTestsDSEngine.RecordedTests.TestModifyPythonNodesUndo
Dynamo.Tests.UI.RecordedTestsDSEngine.RecordedTests.TestModifyPythonNodesUndoRedo
Dynamo.Tests.UI.RecordedTestsDSEngine.TestUpdateNodeContents
```