public bool getAllUnits(UnitGroup unitGroup, List<Unit> expectedOutputUnits)
        {
            bool matchingID = false;
            List<Unit> outputUnits = unitGroup.getUnits();
            foreach (Unit unitOutput in outputUnits)
            {
                matchingID = false;
                foreach (Unit unitExpected in expectedOutputUnits)
                {
                    if (unitExpected.ID == unitOutput.ID)
                    {
                        matchingID = true;
                        break;
                    }
                }
                if (!matchingID) { break; }
            }

            return matchingID;
        }
        public bool initializeClass(List<Unit> inputUnits, List<Unit> expectedOutputUnits)
        {
            bool matchingID = false;
            UnitGroup unitGroup = new UnitGroup(inputUnits);
            List<Unit> outputUnits = unitGroup.getUnits();
            foreach (Unit unitOutput in outputUnits)
            {
                matchingID = false;
                foreach (Unit unitExpected in expectedOutputUnits)
                {
                    if (unitExpected.ID == unitOutput.ID)
                    {
                        matchingID = true;
                        break;
                    }
                }
                if (!matchingID) { break; }
            }

            return matchingID;
        }
        public bool removeUnitByNonExistingObjectInstance(UnitGroup unitGroup, Unit inputUnit, List<Unit> expectedOutputUnits)
        {
            unitGroup = new UnitGroup(expectedOutputUnits);
            unitGroup.removeUnit(inputUnit);

            List<Unit> units = unitGroup.getUnits();

            // Check that unit no longer exists
            if (validateUnitInList(units, inputUnit.ID)) { return false; }

            // Check that the list is unaltered
            if (!validateUnitsListUnaltered(units, expectedOutputUnits)) { return false; }

            return true;
        }
 public bool removeUnitByObjectInstance(UnitGroup unitGroup, Unit inputUnit, List<Unit> expectedOutputUnits)
 {
     unitGroup = new UnitGroup(expectedOutputUnits);
     unitGroup.removeUnit(inputUnit);
     List<Unit> units = unitGroup.getUnits();
     return !validateUnitInList(units, inputUnit.ID);
 }
 public bool removeUnitByID(UnitGroup unitGroup, int inputID, List<Unit> expectedOutputUnits)
 {
     unitGroup = new UnitGroup(expectedOutputUnits);
     unitGroup.removeUnit(inputID);
     List<Unit> units = unitGroup.getUnits();
     return !validateUnitInList(units, inputID);
 }