public void PointChargeTest([RandomDouble(5)] double charge) { var pointCharge = new PointCharge(charge); Assert.That(pointCharge.ElectricDipoleMoment, Is.EqualTo(Vector3.Zero)); Assert.That(pointCharge.MagneticDipoleMoment, Is.EqualTo(Vector3.Zero)); Assert.That(pointCharge.Charge, Is.EqualTo(charge)); }
public void TestElectricField() { PointCharge p = new PointCharge(-8.0E-9); Vector result = p.ElectricFieldAtPoint(new Vector(1.2, -1.6)).DecimalPoints(0); //University Physics page 702 Vector expected = new Vector(-11, 14); Assert.AreEqual(expected, result); }
public void TestElectricForce() { //NOTE: Correct order of magnitude but failing due to floating point precision PointCharge p = new PointCharge(-8.0E-9); PointCharge q = new PointCharge(-6.0E-9, new Vector(1.2, -1.6)); Vector result = p.ElectricForceOn(q); //Based on TestElectricField() above. Vector expected = new Vector(-11, 14) * (-6.0E-9) * Math.Sign(q.Charge); Assert.IsTrue(Helpers.WithinTolerance(expected, result)); }