Example #1
0
        public void TestProgressIndication()
        {
            string result = "";

            var model1 = new SimplerModel {
                Name = "source"
            };

            model1.Executing += (s, e) => result += ((SimplerModel)s).Name;

            var model2 = new SimplerModel {
                Name = "target"
            };

            model2.Executing += (s, e) => result += ((SimplerModel)s).Name;

            var compositeModel = new CompositeModel
            {
                Name   = "composite model",
                Models = { model1, model2 }
            };

            var progressList = new List <string>();

            compositeModel.ProgressChanged += delegate
            {
                progressList.Add(compositeModel.GetProgressText());
            };

            compositeModel.Initialize();
            compositeModel.Execute();

            Assert.AreEqual("50.00 %", progressList[0]);
            Assert.AreEqual("100.00 %", progressList[1]);
        }