public void Precision() { fmw1 = new FloatingMeasureWrapper(20, fV); // check: precision sets AND activates precision fmw1.Precision(new FloatingMeasureWrapper(1, fV)); Assert.AreEqual(fmw1.PrintShort(), "20*fV"); // deactivate precision fmw1.PrecisionActive(false); Assert.AreNotEqual(fmw1.PrintShort(), "20*fV"); // check other precisions fmw1.Precision(new FloatingMeasureWrapper(0.1, fV)); Assert.AreEqual(fmw1.PrintShort(), "20.0*fV"); fmw1.Precision(new FloatingMeasureWrapper(0.01, fV)); Assert.AreEqual(fmw1.PrintShort(), "20.00*fV"); }
public void Comparison() { // equality fmw1 = new FloatingMeasureWrapper(10, fV / GV); fmw2 = new FloatingMeasureWrapper(10, fV / GV); Assert.IsTrue(fmw1 == fmw2); Assert.IsTrue(fmw1 >= fmw2); Assert.IsTrue(fmw1 <= fmw2); Assert.IsFalse(fmw1 != fmw2); Assert.IsFalse(fmw1 > fmw2); Assert.IsFalse(fmw1 < fmw2); // equality with different units fmw1 = new FloatingMeasureWrapper(0.01, pV / GV); Assert.IsTrue(fmw1 == fmw2); Assert.IsTrue(fmw1 >= fmw2); Assert.IsTrue(fmw1 <= fmw2); Assert.IsFalse(fmw1 != fmw2); Assert.IsFalse(fmw1 > fmw2); Assert.IsFalse(fmw1 < fmw2); // if comparing partners are incompatible --> all false, except != fmw2 = new FloatingMeasureWrapper(10, fV / GA); Assert.IsTrue(fmw1 != fmw2); Assert.IsFalse(fmw1 == fmw2); Assert.IsFalse(fmw1 >= fmw2); Assert.IsFalse(fmw1 <= fmw2); Assert.IsFalse(fmw1 > fmw2); Assert.IsFalse(fmw1 < fmw2); // unequal by value fmw2 = new FloatingMeasureWrapper(9.95, fV / GV); Assert.IsTrue(fmw1 != fmw2); Assert.IsFalse(fmw1 == fmw2); Assert.IsTrue(fmw1 >= fmw2); Assert.IsFalse(fmw1 <= fmw2); Assert.IsTrue(fmw1 > fmw2); Assert.IsFalse(fmw1 < fmw2); // setting precision --> equality: // set precision for right partner --> ruling precision fmw1.Precision(new FloatingMeasureWrapper(0.1, fV / GV)); Assert.IsFalse(fmw1 != fmw2); Assert.IsTrue(fmw1 == fmw2); Assert.IsTrue(fmw1 >= fmw2); Assert.IsTrue(fmw1 <= fmw2); Assert.IsFalse(fmw1 > fmw2); Assert.IsFalse(fmw1 < fmw2); }
public void Getter() { fmw1 = new FloatingMeasureWrapper(11.11, fV / GV); // check raw value Assert.IsTrue(fmw1.RawValue() == 11.11); Assert.IsTrue(fmw1.Measure() == (fV / GV)); // check rounded value fmw1.Precision(new FloatingMeasureWrapper(10, fV / GV)); Assert.IsTrue(fmw1.Value() == 10); fmw1.Precision(new FloatingMeasureWrapper(1, fV / GV)); Assert.IsTrue(fmw1.Value() == 11); fmw1.Precision(new FloatingMeasureWrapper(5, fV / GV)); Assert.IsTrue(fmw1.Value() == 11); fmw1.Precision(new FloatingMeasureWrapper(0.1, fV / GV)); Assert.IsTrue(fmw1.Value() == 11.1); fmw1.Precision(new FloatingMeasureWrapper(0.5, fV / GV)); Assert.IsTrue(fmw1.Value() == 11.1); fmw1.Precision(new FloatingMeasureWrapper(0.01, fV / GV)); Assert.IsTrue(fmw1.Value() == 11.11); fmw1.Precision(new FloatingMeasureWrapper(0.05, fV / GV)); Assert.IsTrue(fmw1.Value() == 11.11); }