public void run_methods_up_to_certain_version() { string version = "10.0.1"; var maxVersion = new VersionInfo(version); var dataUpdater = new TestDataUpdater(version); dataUpdater.LoadMethodsAndExecute(_testAssembly); Assert.IsTrue(DummyUpgradeClass.ExecutedMethods.Count > 0, "No Methods were executed"); foreach (var method in DummyUpgradeClass.ExecutedMethods) { var maxCompare = method._version.CompareTo(maxVersion).Change; Assert.IsTrue(maxCompare == VersionChange.Downgrade || maxCompare == VersionChange.None, string.Format("Version is larger than {0}", version)); } }
public void run_methods_with_source_and_target_version() { string targetVersion = "11.0.3"; string sourceVersion = "10.0.0"; var maxVersion = new VersionInfo(targetVersion); var minVersion = new VersionInfo(sourceVersion); var dataUpdater = new TestDataUpdater(targetVersion); dataUpdater.SourceVersion = sourceVersion; dataUpdater.LoadMethodsAndExecute(_testAssembly); Assert.IsTrue(DummyUpgradeClass.ExecutedMethods.Count > 0, "No Methods were executed"); foreach (var method in DummyUpgradeClass.ExecutedMethods) { var maxCompare = method._version.CompareTo(maxVersion).Change; var minCompare = method._version.CompareTo(minVersion).Change; Assert.IsTrue(maxCompare == VersionChange.Downgrade || maxCompare == VersionChange.None, string.Format("Version is larger than {0}", targetVersion)); Assert.IsTrue(minCompare == VersionChange.Upgrade || minCompare == VersionChange.None, string.Format("Version is not larger than source version {0}", sourceVersion)); } }
public void run_all_methods_without_target_version() { var types = _testAssembly.GetTypes(); Type dataUpgradeClass = null; var classTypes = from type in types where type.IsClass select type; foreach (var type in from type in classTypes from attribute in (from a in System.Attribute.GetCustomAttributes(type) where a is DataUpgradeAttribute select a) select type) { dataUpgradeClass = type; } Assert.IsNotNull(dataUpgradeClass, "Could not read test assembly"); var methods = dataUpgradeClass.GetMethods(); var updateMethodCount = (from m in methods from attributes in (from a in m.GetCustomAttributes(false) where a is EffectiveVersionAttribute select a) select m).Count(); Assert.IsTrue(updateMethodCount > 0, "No upgrade methods found in test assembly"); var dataUpdater = new TestDataUpdater(null); dataUpdater.LoadMethods(_testAssembly); foreach (var method in dataUpdater.GetMethods()) { dataUpdater.ExecuteMethod(method); } Assert.AreEqual(updateMethodCount, DummyUpgradeClass.ExecutedMethods.Count, "Not all methods were executed"); }
public void Init() { _testAssembly = Assembly.GetExecutingAssembly(); _dataUpdater = new TestDataUpdater("100.0.0"); _dataUpdater.LoadMethods(_testAssembly); }