public void KeyMakesDifference() { var key = new Key(electricProperties: ElectricProperties.CreateFromIR(10, 2)); var elementsList = new List <AbstractElement> { HelperClass.GetRandomBattery(), HelperClass.GetRandomCable(), key, HelperClass.GetRandomCable() }; HelperClass.Join(elementsList, 0, 1); HelperClass.Join(elementsList, 1, 2); HelperClass.Join(elementsList, 2, 3); HelperClass.Join(elementsList, 3, 0); ((Battery)elementsList[0]).GiveProperties(); Assert.AreNotEqual(elementsList[0].Properties.Amperage, elementsList[1].Properties.Amperage); key.Switch(); ((Battery)elementsList[0]).GiveProperties(); Assert.AreEqual(elementsList[0].Properties.Amperage, elementsList[1].Properties.Amperage); }
public void CorrectConnections() { var props = ElectricProperties.CreateFromIR(DefaultAmperage, DefaultResistance); Assert.AreEqual(props.Resistance*2, (props & props).Resistance); Assert.AreEqual(2.0/props.Resistance, (props | props).Resistance); }
protected AbstractElement(double resistance) { properties = ElectricProperties.CreateFromUR(0, resistance); joints.Add(new NodeJointPoint(this)); /*var message = "created " + this + "!!! Joints are " + joints.Count + " and they are "; * message = joints.Aggregate(message, (current, point) => current + string.Format("parentId = {0}, targetId = {1}", point.ParentId, point.TargetId)); * Debug.Log(message);*/ }
protected AbstractElement(ElectricProperties props) { if (props == null) { props = ElectricProperties.CreateFromUR(0, 1); } properties = props; joints.Add(new NodeJointPoint(this)); }
public void CorrectCreation() { var ourObject1 = ElectricProperties.CreateFromIR(DefaultAmperage, DefaultResistance); var ourObject2 = ElectricProperties.CreateFromUR(DefaultCurrent, DefaultResistance); var ourObject3 = ElectricProperties.CreateFromIU(DefaultAmperage, DefaultCurrent); Assert.AreEqual(ourObject1.Amperage, ourObject2.Amperage, ElectricProperties.ToleranceOfEquality); Assert.AreEqual(ourObject1.Current, ourObject2.Current, ElectricProperties.ToleranceOfEquality); Assert.AreEqual(ourObject1.Resistance, ourObject2.Resistance, ElectricProperties.ToleranceOfEquality); Assert.AreEqual(ourObject2.Amperage, ourObject3.Amperage, ElectricProperties.ToleranceOfEquality); Assert.AreEqual(ourObject2.Current, ourObject3.Current, ElectricProperties.ToleranceOfEquality); Assert.AreEqual(ourObject2.Resistance, ourObject3.Resistance, ElectricProperties.ToleranceOfEquality); }
public void SetElectricProperties(ElectricProperties props) { fields[0].Text = Math.Round(props.Amperage, 4).ToString(); fields[1].Text = Math.Round(props.Current, 4).ToString(); fields[2].Text = Math.Round(props.Resistance, 4).ToString(); }
public Key(bool state=false, ElectricProperties electricProperties=null) : base(electricProperties) { On = state; }
public Battery(double current, double innerResistance) : base(ElectricProperties.CreateFromUR(current, innerResistance)) { }
public Key(double resistance, bool state = false) : this(state, ElectricProperties.CreateFromUR(0, resistance)) { }
public Key(bool state = false, ElectricProperties electricProperties = null) : base(electricProperties) { On = state; }