public void Test() { string memberType = ExposedVariableManager.GetMemberTypeForEntity("Current" + mEntitySave.StateCategoryList[0].Name + "State", mEntitySave); if (memberType != mEntitySave.StateCategoryList[0].Name) { throw new Exception("ExposedVariableManager.GetMemberTypeForEntity didn't return the proper type"); } // The base should be able to expose Visible because it's IVisible List <string> variables = variables = ExposedVariableManager.GetExposableMembersFor(mEntitySave, false).Select(item => item.Member).ToList(); if (!variables.Contains("Visible")) { throw new Exception("The base Entity that is IVisible does not have the Visible property as an exposable variable and it should"); } // The derived should be able to expose Visible because its base is IVislble variables = ExposedVariableManager.GetExposableMembersFor(mDerivedEntitySave, false).Select(item => item.Member).ToList(); if (!variables.Contains("Visible")) { throw new Exception("Derived Entities are not showing Visible as an exposable variable when the base implements IVislble"); } }