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;
 }
Exemple #8
0
 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();
 }
Exemple #9
0
 public Battery(double current, double innerResistance) : base(ElectricProperties.CreateFromUR(current, innerResistance))
 {
 }
Exemple #10
0
 public Key(double resistance, bool state = false)
     : this(state, ElectricProperties.CreateFromUR(0, resistance))
 {
 }
Exemple #11
0
 public Key(bool state = false, ElectricProperties electricProperties = null) : base(electricProperties)
 {
     On = state;
 }