Beispiel #1
0
        public void MspModelCreationTypesCheckDirectoryAndUnpacking()
        {
            CreateProductUpdateInfos();

              // Создаем модель.
              TestMspModel model = new TestMspModel();
              model.Load(new MspModelLoadingParameters(oldUpdzip, newUpdzip, MspCreationTypes.AllInOne));

              // Файлы должны быть во временной директории.
              Assert.IsTrue(File.Exists(Path.Combine(model.TestOldDirectory, oldWixout)));
              Assert.IsFalse(File.Exists(Path.Combine(model.TestOldDirectory, oldUpdzip)));
              Assert.IsTrue(File.Exists(Path.Combine(model.TestNewDirectory, newWixout)));
              Assert.IsFalse(File.Exists(Path.Combine(model.TestNewDirectory, newUpdzip)));
        }
Beispiel #2
0
        public void MspModelSaveAndLoad()
        {
            CreateProductUpdateInfos();

              // Создаем модель.
              TestMspModel model = new TestMspModel();
              model.Load(new MspModelLoadingParameters(oldUpdzip, newUpdzip, MspCreationTypes.AllInOne));

              model.Save("TestModel.mspzip");
              model.Dispose();

              model = new TestMspModel();
              model.Load("TestModel.mspzip");

              // Файлы должны быть во временной директории.
              Assert.IsTrue(File.Exists(Path.Combine(model.TestOldDirectory, oldWixout)));
              Assert.IsFalse(File.Exists(Path.Combine(model.TestOldDirectory, oldUpdzip)));
              Assert.IsTrue(File.Exists(Path.Combine(model.TestNewDirectory, newWixout)));
              Assert.IsFalse(File.Exists(Path.Combine(model.TestNewDirectory, newUpdzip)));

              // Проверка компонент для обновления.
              Assert.AreEqual(2, model.UpdateComponents.Length);
              foreach (string id in new string[] { "Component12", "Component22" })
              {
            Assert.IsTrue(model.UpdateComponents.Select(v => v.Id).Contains(id));
              }

              // Patch должен быть один.
              Assert.AreEqual(1, model.RootItem.Items.Count);
              Assert.AreEqual(typeof(WixPatchElement), model.RootItem.Items[0].GetType());
              // Должно быть два PatchComponent.
              Assert.AreEqual(2, model.RootItem.Items[0].Items.Count);
              Assert.AreEqual(typeof(WixPatchComponentElement), model.RootItem.Items[0].Items[0].GetType());
              Assert.AreEqual(typeof(WixPatchComponentElement), model.RootItem.Items[0].Items[1].GetType());

              File.Delete("TestModel.mspzip");
        }