示例#1
0
        public void SaveAs_Load_Save_Load()
        {
            EditableDataset dataset  = CreateDatasetAndAddEntry();
            string          filename = Data.MakeOutputPath("SaveAs_Load_Save_Load.landis");

            dataset.SaveAs(filename);
            dataset = null;

            EditableDataset loadedDataset = EditableDataset.Load(filename);

            Assert.IsNotNull(loadedDataset);
            Assert.AreEqual(1, loadedDataset.Count);

            loadedDataset.Add(barPlugInEntry);
            Assert.AreEqual(2, loadedDataset.Count);

            loadedDataset.Save();
            loadedDataset = null;

            EditableDataset reloadedDataset = EditableDataset.Load(filename);

            Assert.AreEqual(2, reloadedDataset.Count);
            AssertEntriesAreEqual(fooPlugInEntry,
                                  reloadedDataset.Find(fooPlugInEntry.Name));
            AssertEntriesAreEqual(barPlugInEntry,
                                  reloadedDataset.Find(barPlugInEntry.Name));
        }
示例#2
0
        public void Create()
        {
            EditableDataset dataset = EditableDataset.Create();

            Assert.IsNotNull(dataset);
            Assert.AreEqual(0, dataset.Count);
        }
示例#3
0
        public void RemoveUnknownName()
        {
            EditableDataset dataset      = CreateDatasetAndAddEntry();
            IDatasetEntry   removedEntry = dataset.Remove("Unknown name");

            Assert.AreEqual(1, dataset.Count);
            Assert.IsNull(removedEntry);
        }
示例#4
0
        public void RemoveFromEmpty()
        {
            EditableDataset dataset      = EditableDataset.Create();
            IDatasetEntry   removedEntry = dataset.Remove(fooPlugInEntry.Name);

            Assert.AreEqual(0, dataset.Count);
            Assert.IsNull(removedEntry);
        }
示例#5
0
        //---------------------------------------------------------------------

        private void TryLoad(string path)
        {
            try {
                path = Data.MakeInputPath(path);
                Data.Output.WriteLine("Loading plug-in dataset from \"{0}\" ...",
                                      path.Replace(Data.Directory, Data.DirPlaceholder));
                EditableDataset dataset = EditableDataset.Load(path);
            }
            catch (System.Exception exc) {
                Data.Output.WriteLine("  {0}", exc.Message);
                Data.Output.WriteLine();
                throw;
            }
        }
示例#6
0
        public void Create_Add_Remove()
        {
            EditableDataset dataset      = CreateDatasetAndAddEntry();
            IDatasetEntry   removedEntry = dataset.Remove(fooPlugInEntry.Name);

            Assert.AreEqual(0, dataset.Count);
            Assert.IsNotNull(removedEntry);
            AssertEntriesAreEqual(fooPlugInEntry, removedEntry);

            IList <string> libs = fooPlugInEntry.ReferencedAssemblies;

            AssertListsAreEqual(new List <string>(),
                                dataset.ReferencedByEntries(libs));
        }
示例#7
0
        //---------------------------------------------------------------------

        private EditableDataset CreateDatasetAndAddEntry()
        {
            EditableDataset dataset = EditableDataset.Create();

            dataset.Add(fooPlugInEntry);
            Assert.AreEqual(1, dataset.Count);

            IList <string> libs = fooPlugInEntry.ReferencedAssemblies;

            AssertListsAreEqual(libs, dataset.ReferencedByEntries(libs));

            IDatasetEntry foundEntry = dataset.Find(fooPlugInEntry.Name);

            Assert.IsNotNull(foundEntry);
            AssertEntriesAreEqual(fooPlugInEntry, foundEntry);

            return(dataset);
        }
示例#8
0
        public void SaveAs_Load()
        {
            EditableDataset dataset  = CreateDatasetAndAddEntry();
            string          filename = Data.MakeOutputPath("SaveAs_Load.landis");

            dataset.SaveAs(filename);
            dataset = null;

            EditableDataset loadedDataset = EditableDataset.Load(filename);

            Assert.IsNotNull(loadedDataset);
            Assert.AreEqual(1, loadedDataset.Count);
            AssertEntriesAreEqual(fooPlugInEntry, loadedDataset[0]);

            IList <string> libs = fooPlugInEntry.ReferencedAssemblies;

            AssertListsAreEqual(libs, loadedDataset.ReferencedByEntries(libs));
        }
示例#9
0
        public void ReferencedByAfterRemove()
        {
            EditableDataset dataset = CreateDatasetAndAddEntry();

            dataset.Add(barPlugInEntry);

            //	Both plug-ins reference the same lib (nunit.framework)
            List <string> libs = new List <string>();

            libs.Add("nunit.framework");
            AssertListsAreEqual(libs, dataset.ReferencedByEntries(libs));

            dataset.Remove(fooPlugInEntry.Name);
            AssertListsAreEqual(libs, dataset.ReferencedByEntries(libs));

            dataset.Remove(barPlugInEntry.Name);
            AssertListsAreEqual(new List <string>(),
                                dataset.ReferencedByEntries(libs));
        }
示例#10
0
        public void AddNull()
        {
            EditableDataset dataset = EditableDataset.Create();

            dataset.Add(null);
        }
示例#11
0
        public void Save_NonLoadedDataset()
        {
            EditableDataset dataset = EditableDataset.Create();

            dataset.Save();
        }
示例#12
0
        public void SaveAs_Null()
        {
            EditableDataset dataset = EditableDataset.Create();

            dataset.SaveAs(null);
        }
示例#13
0
        public void RemoveNull()
        {
            EditableDataset dataset = EditableDataset.Create();

            dataset.Remove(null);
        }