public void Equals_Compares_Objects_By_Properties_That_Are_Not_Equal_Returns_False()
        {
            cUnitsController unitsController1 = new cUnitsController();

            unitsController1.SetTypeByShorthand(cUnitsController.eUnitTypeShorthand.Power);

            Assert.That(unitsController1.QuickUnitTypes.Count, Is.EqualTo(11));
            Assert.That(unitsController1.AllUnitTypes.Count, Is.EqualTo(31));
            Assert.That(unitsController1.ShorthandUnitsAvailable.Count, Is.EqualTo(5));
            Assert.That(unitsController1.Type, Is.EqualTo(cUnitsController.eUnitTypeStandard.Power));
            Assert.That(unitsController1.TypeShorthand, Is.EqualTo(cUnitsController.eUnitTypeShorthand.None));
            Assert.That(unitsController1.Units, Is.EqualTo(new cUnits()));

            cUnitsController unitsController2 = new cUnitsController();

            unitsController2.SetTypeByShorthand(cUnitsController.eUnitTypeShorthand.Work);

            Assert.That(unitsController2.QuickUnitTypes.Count, Is.EqualTo(11));
            Assert.That(unitsController2.AllUnitTypes.Count, Is.EqualTo(31));
            Assert.That(unitsController2.ShorthandUnitsAvailable.Count, Is.EqualTo(5));
            Assert.That(unitsController2.Type, Is.EqualTo(cUnitsController.eUnitTypeStandard.Work));
            Assert.That(unitsController2.TypeShorthand, Is.EqualTo(cUnitsController.eUnitTypeShorthand.None));
            Assert.That(unitsController2.Units, Is.EqualTo(new cUnits()));

            // Method Under Test
            Assert.That(!unitsController1.Equals(unitsController2));
        }
        public void Clone_Clones_Object()
        {
            cUnitsController unitsController = new cUnitsController();

            Assert.That(unitsController.QuickUnitTypes.Count, Is.EqualTo(11));
            Assert.That(unitsController.AllUnitTypes.Count, Is.EqualTo(31));
            Assert.That(unitsController.ShorthandUnitsAvailable.Count, Is.EqualTo(0));
            Assert.That(unitsController.Type, Is.EqualTo(cUnitsController.eUnitTypeStandard.None));
            Assert.That(unitsController.TypeShorthand, Is.EqualTo(cUnitsController.eUnitTypeShorthand.None));
            Assert.That(unitsController.Units, Is.EqualTo(new cUnits()));

            unitsController.SetTypeByShorthand(cUnitsController.eUnitTypeShorthand.Power);

            Assert.That(unitsController.QuickUnitTypes.Count, Is.EqualTo(11));
            Assert.That(unitsController.AllUnitTypes.Count, Is.EqualTo(31));
            Assert.That(unitsController.ShorthandUnitsAvailable.Count, Is.EqualTo(5));
            Assert.That(unitsController.Type, Is.EqualTo(cUnitsController.eUnitTypeStandard.Power));
            Assert.That(unitsController.TypeShorthand, Is.EqualTo(cUnitsController.eUnitTypeShorthand.None));
            Assert.That(unitsController.Units, Is.EqualTo(new cUnits()));

            object unitsControllerClone = unitsController.Clone();

            Assert.That(unitsControllerClone is cUnitsController);
            cUnitsController unitsControllerCloneCast = (cUnitsController)unitsControllerClone;

            Assert.That(unitsControllerCloneCast.QuickUnitTypes.Count, Is.EqualTo(11));
            Assert.That(unitsControllerCloneCast.AllUnitTypes.Count, Is.EqualTo(31));
            Assert.That(unitsControllerCloneCast.ShorthandUnitsAvailable.Count, Is.EqualTo(5));
            Assert.That(unitsControllerCloneCast.Type, Is.EqualTo(cUnitsController.eUnitTypeStandard.Power));
            Assert.That(unitsControllerCloneCast.TypeShorthand, Is.EqualTo(cUnitsController.eUnitTypeShorthand.None));
            Assert.That(unitsControllerCloneCast.Units, Is.EqualTo(new cUnits()));
        }
        public void SetTypeByShorthand_Without_Schema_Types_Defined(
            cUnitsController.eUnitTypeShorthand value,
            cUnitsController.eUnitTypeStandard result)
        {
            cUnitsController unitsController = new cUnitsController();

            unitsController.SetTypeByShorthand(value);
            Assert.That(unitsController.Type, Is.EqualTo(result));
        }
        [TestCase(cUnitsController.eUnitTypeShorthand.SpeedAngular, "Displacement (Rotation)", cUnitsController.eUnitTypeStandard.DisplacementRotational)] // TODO: This should not be allowed
        public void SetTypeByShorthand_With_Schema_Types_Defined(
            cUnitsController.eUnitTypeShorthand value,
            string schema,
            cUnitsController.eUnitTypeStandard result)
        {
            // TODO: Limit schema types to appropriate sub-categories.
            cUnitsController unitsController = new cUnitsController();

            unitsController.SetTypeByShorthand(value, schema);
            Assert.That(unitsController.Type, Is.EqualTo(result));
        }