示例#1
0
        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));
            }
        }
示例#2
0
        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));
            }
        }
示例#3
0
        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");
        }
示例#4
0
 public void Init()
 {
     _testAssembly = Assembly.GetExecutingAssembly();
     _dataUpdater  = new TestDataUpdater("100.0.0");
     _dataUpdater.LoadMethods(_testAssembly);
 }