// Add a command to the drawing history public void addDrawingCommand(int index, int objType, Vector3 position, Color color, float lineWidth, Material primaryMaterial, Material secondaryMaterial, int layerNum) { int primaryMaterialIndex = getIndexFromMaterial(primaryMaterial); int secondaryMaterialIndex; if (secondaryMaterial) { secondaryMaterialIndex = getIndexFromMaterial(secondaryMaterial); } else { secondaryMaterialIndex = getIndexFromMaterial(primaryMaterial); } DrawingCommand newCommand = new DrawingCommand(index, objType, position, color, lineWidth, primaryMaterialIndex, secondaryMaterialIndex, layerNum); drawingHistory.Add(newCommand); }
public void TestDrawingCommand() { const string SHAPE_DRAWER_MEMBER_VARIABLE_NAME_DRAWING_STARTING_POINT = "_drawingStartingPoint"; const string SHAPE_DRAWER_MEMBER_VARIABLE_NAME_DRAWING_ENDING_POINT = "_drawingEndingPoint"; Assert.ThrowsException <ArgumentNullException>(() => new DrawingCommand(null, new Point(), new Point(), ShapeDrawerType.Line)); var agent = new DrawingCommandAgentMock(); var drawingStartingPoint = new Point(); var drawingEndingPoint = new Point(); var drawingCommand = new DrawingCommand(agent, drawingStartingPoint, drawingEndingPoint, ShapeDrawerType.Line); var target = new PrivateObject(drawingCommand); Assert.AreSame(target.GetFieldOrProperty(MEMBER_VARIABLE_NAME_AGENT), agent); ShapeDrawer expectedShapeDrawer = ( ShapeDrawer )target.GetFieldOrProperty(MEMBER_VARIABLE_NAME_SHAPE_DRAWER); var expectedShapeDrawerTarget = new PrivateObject(expectedShapeDrawer); Assert.AreSame(expectedShapeDrawerTarget.GetFieldOrProperty(SHAPE_DRAWER_MEMBER_VARIABLE_NAME_DRAWING_STARTING_POINT), drawingStartingPoint); Assert.AreSame(expectedShapeDrawerTarget.GetFieldOrProperty(SHAPE_DRAWER_MEMBER_VARIABLE_NAME_DRAWING_ENDING_POINT), drawingEndingPoint); Assert.IsInstanceOfType(expectedShapeDrawer, typeof(LineDrawer)); }
public void Initialize() { _agent = new DrawingCommandAgentMock(); _drawingCommand = new DrawingCommand(_agent, new Point(), new Point(), ShapeDrawerType.Line); _target = new PrivateObject(_drawingCommand); }