public void GetNextIdTest03() { // Test to make sure "GetNextId" returns the type it should. IdGenerator generator = new IdGenerator(); uint firstNodeId = generator.GetNextId(ComponentType.Node); uint firstSlotId = generator.GetNextId(ComponentType.Slot); uint firstEdgeId = generator.GetNextId(ComponentType.Edge); uint firstBubbleId = generator.GetNextId(ComponentType.Bubble); Assert.AreEqual(ComponentType.Node, IdGenerator.GetType(firstNodeId)); Assert.AreEqual(ComponentType.Slot, IdGenerator.GetType(firstSlotId)); Assert.AreEqual(ComponentType.Edge, IdGenerator.GetType(firstEdgeId)); Assert.AreEqual(ComponentType.Bubble, IdGenerator.GetType(firstBubbleId)); }
public void GetNextIdTest01() { // Test to make sure that fresh IdGenerator always start with '1'. IdGenerator generator = new IdGenerator(); uint firstNodeId = generator.GetNextId(ComponentType.Node); uint firstSlotId = generator.GetNextId(ComponentType.Slot); uint firstEdgeId = generator.GetNextId(ComponentType.Edge); uint firstBubbleId = generator.GetNextId(ComponentType.Bubble); Assert.AreEqual((((uint)ComponentType.Node) | 0x01), firstNodeId); Assert.AreEqual((((uint)ComponentType.Slot) | 0x01), firstSlotId); Assert.AreEqual((((uint)ComponentType.Edge) | 0x01), firstEdgeId); Assert.AreEqual((((uint)ComponentType.Bubble) | 0x01), firstBubbleId); }
public void GetNextIdTest04() { // Test to make sure "GetNextId" throws an exception for wrong input. Assert.Throws<ArgumentException>(() => { IdGenerator generator = new IdGenerator(); generator.GetNextId((ComponentType)1234); }); }
internal InfoBubble(IGraphController controller, uint nodeId) { this.graphController = controller as GraphController; this.nodeId = nodeId; IdGenerator idGenerator = this.graphController.GetIdGenerator(); this.bubbleId = idGenerator.GetNextId(ComponentType.Bubble); this.graphController.AddBubble(this); }
protected VisualNode(IGraphController graphController, NodeType nodeType) { this.graphController = graphController as GraphController; IdGenerator idGenerator = this.graphController.GetIdGenerator(); this.nodeType = nodeType; this.version = VisualNode.Version.Current; this.nodeId = idGenerator.GetNextId(ComponentType.Node); this.nodeState = States.Visible; this.Dirty = true; this.graphController.AddVisualNode(this); }
/// <summary> /// Create a new slot /// </summary> /// <param name="gc">Owning graph controller</param> /// <param name="type">Input/Output slot</param> /// <param name="firstOwner">Node where there slot resides</param> internal Slot(IGraphController gc, SlotType type, IVisualNode firstOwner) { if (gc == null || firstOwner == null) { throw new ArgumentNullException(); } this.graphController = gc as GraphController; Validity.Assert(this.graphController != null); IdGenerator idGenerator = this.graphController.GetIdGenerator(); this.slotType = type; this.version = Slot.Version.Current; this.slotId = idGenerator.GetNextId(ComponentType.Slot); this.slotState = SlotStates.Visible; this.owners.Add(firstOwner.NodeId); }
public void GetNextIdTest02() { // Test to make sure that "GetNextId" always increase id by '1'. IdGenerator generator = new IdGenerator(); uint firstNodeId = generator.GetNextId(ComponentType.Node); uint firstSlotId = generator.GetNextId(ComponentType.Slot); uint firstEdgeId = generator.GetNextId(ComponentType.Edge); uint firstBubbleId = generator.GetNextId(ComponentType.Bubble); uint secondNodeId = generator.GetNextId(ComponentType.Node); uint secondSlotId = generator.GetNextId(ComponentType.Slot); uint secondEdgeId = generator.GetNextId(ComponentType.Edge); uint secondBubbleId = generator.GetNextId(ComponentType.Bubble); Assert.AreEqual(1, secondNodeId - firstNodeId); Assert.AreEqual(1, secondSlotId - firstSlotId); Assert.AreEqual(1, secondEdgeId - firstEdgeId); Assert.AreEqual(1, secondBubbleId - firstBubbleId); }
internal VisualEdge(EdgeController edgeController, uint startSlotId, uint endSlotId, bool isImplicit) { this.edgeController = edgeController; if (isImplicit) { this.EdgeType = EdgeType.ImplicitConnection; } else { this.EdgeType = EdgeType.ExplicitConnection; } this.version = VisualEdge.Version.Current; this.StartSlotId = startSlotId; this.EndSlotId = endSlotId; // Generate new ID for this visual edge. GraphController graphController = edgeController.GetGraphController(); IdGenerator idGenerator = graphController.GetIdGenerator(); this.EdgeId = idGenerator.GetNextId(ComponentType.Edge); controlPoints.Add(new Point()); controlPoints.Add(new Point()); controlPoints.Add(new Point()); controlPoints.Add(new Point()); GraphController controller = edgeController.GetGraphController(); Slot startSlot = controller.GetSlot(this.StartSlotId) as Slot; Slot endSlot = controller.GetSlot(this.EndSlotId) as Slot; if (startSlot != null && endSlot != null) { Point startPoint = startSlot.GetPosition(); Point endPoint = endSlot.GetPosition(); UpdateControlPoint(startPoint, endPoint, startSlot.SlotType != SlotType.Output); } else { throw new ArgumentNullException("startSlot or endSlot"); } }
public void SetStartIdTest01() { // Test to make sure the start id is properly set, and that // trying to get the next id returns the next higher number. IdGenerator generator = new IdGenerator(); uint maxNodeId = (((uint)ComponentType.Node) | 0x1234); uint maxSlotId = (((uint)ComponentType.Slot) | 0x4567); uint maxEdgeId = (((uint)ComponentType.Edge) | 0x69ab); uint maxBubbleId = (((uint)ComponentType.Bubble) | 0x89ab); generator.SetStartId(maxNodeId); generator.SetStartId(maxSlotId); generator.SetStartId(maxEdgeId); generator.SetStartId(maxBubbleId); uint nextNodeId = generator.GetNextId(ComponentType.Node); uint nextSlotId = generator.GetNextId(ComponentType.Slot); uint nextEdgeId = generator.GetNextId(ComponentType.Edge); uint nextBubbleId = generator.GetNextId(ComponentType.Bubble); Assert.AreEqual(1, nextNodeId - maxNodeId); Assert.AreEqual(1, nextSlotId - maxSlotId); Assert.AreEqual(1, nextEdgeId - maxEdgeId); Assert.AreEqual(1, nextBubbleId - maxBubbleId); }
public void TestEqual() { //same name, same line, equal IdGenerator idGenerator = new IdGenerator(); uint slotId = idGenerator.GetNextId(ComponentType.Slot); VariableSlotInfo varSlotInfo1 = new VariableSlotInfo("a", 1, slotId); VariableSlotInfo varSlotInfo2 = new VariableSlotInfo("a", 1, slotId); Assert.AreEqual(varSlotInfo1, varSlotInfo2); }