public void PersistentInfo()
        {
        	ExtensionInfo extensionInfo = new ExtensionInfo(
				"Foo Bar",				    // name
        	    "3.8",                      // version
        	    "disturbance:bar",          // type
        	    "Org.Foo.Bar",              // assembly name
        	    "Org.Foo.Bar.Extension",    // class name
        	    "Computes foobar stats",    // description
        	    "Foo Bar User Guide.pdf",   // user guide path
        	    new System.Version("5.1")   // core version
        	);

        	PersistentDataset.PlugInInfo persistentInfo = extensionInfo.PersistentInfo;
        	Assert.IsNotNull(persistentInfo);
        	Assert.AreEqual(persistentInfo.Name,
        	                 extensionInfo.Name);
        	Assert.AreEqual(persistentInfo.TypeName,
        	                 extensionInfo.Type);
        	Assert.AreEqual(persistentInfo.Version,
        	                 extensionInfo.Version);
        	Assert.AreEqual(persistentInfo.AssemblyName,
        	                 extensionInfo.AssemblyName);
        	Assert.AreEqual(persistentInfo.ClassName,
        	                 extensionInfo.ClassName);
        	Assert.AreEqual(persistentInfo.UserGuidePath,
        	                 extensionInfo.UserGuidePath);
        }
Ejemplo n.º 2
0
        public void Init()
        {
        	fooExtension = new ExtensionInfo(
				"Foo Plug-in",	            // name
        	    null,                       // version
        	    "succession",               // type
        	    "Com.Acme.Foo",             // assembly name
        	    "Com.Acme.Foo.PlugIn",      // class name
        	    "",                         // description
        	    null,                       // user guide path
        	    new System.Version("5.1")   // core version
            );

        	barExtension = new ExtensionInfo(
				"Bar Extension",	    // name
        	    null,                   // version
        	    "disturbance:bar",      // type
        	    "Com.Acme.Bar",         // assembly name
        	    "Com.Acme.Bar.PlugIn",  // class name
        	    "",                     // description
        	    null,                   // user guide path
        	    null                    // core version
            );

        	twoPlugInDatasetPath = Data.MakeInputPath(twoPlugInDatasetFilename);
        	
        	Dataset.SavedEvent += SavedEventHandler;
        }
        public void CoreInfo_NameAndType()
        {
        	ExtensionInfo extensionInfo = new ExtensionInfo(
				"Foo Bar",				    // name
        	    null,                       // version
        	    "output",                   // type
        	    null,                       // assembly name
        	    null,                       // class name
        	    null,                       // description
        	    null,                       // user guide path
        	    null                        // core version
        	);

        	Landis.PlugIns.PlugInInfo coreInfo = extensionInfo.CoreInfo;
        	Assert.IsNotNull(coreInfo);
        	Assert.AreEqual(extensionInfo.Name, coreInfo.Name);
        	Assert.IsNotNull(coreInfo.PlugInType);
        	Assert.AreEqual(extensionInfo.Type, coreInfo.PlugInType.Name);
        	Assert.IsNull(coreInfo.ImplementationName);
        }
Ejemplo n.º 4
0
        //---------------------------------------------------------------------

        public static  int CompareNames(ExtensionInfo x,
                                        ExtensionInfo y)
        {
            return x.Name.CompareTo(y.Name);
        }
        public void Name_InUse()
        {
        	ExtensionInfo fooBarExtension = new ExtensionInfo(
				"Foo Bar",  // name
        	    null,       // version
        	    null,       // type
        	    null,       // assembly name
        	    null,       // class name
        	    null,       // description
        	    null,       // user guide path
        	    null        // core version
            );
        	dataset.Add(fooBarExtension);
        	try {
	            TryParse("Foo-Bar.txt");
        	}
        	finally {
        		dataset.Remove(fooBarExtension.Name);
        	}
        }
        //---------------------------------------------------------------------
        private void AssertAreEqual(ExtensionInfo expected,
            ExtensionInfo actual)
        {
            Assert.IsNotNull(actual);

            Assert.AreEqual(expected.Name,          actual.Name);
            Assert.AreEqual(expected.Type,          actual.Type);
            Assert.AreEqual(expected.Version,       actual.Version);
            Assert.AreEqual(expected.AssemblyName,  actual.AssemblyName);
            Assert.AreEqual(expected.ClassName,     actual.ClassName);
            Assert.AreEqual(expected.Description,   actual.Description);
            Assert.AreEqual(expected.UserGuidePath, actual.UserGuidePath);

            //  Core version is not checked because it is not stored in the
            //  dataset.
        }
Ejemplo n.º 7
0
        //---------------------------------------------------------------------

        /// <summary>
        /// Adds a new plug-in to the dataset.
        /// </summary>
        /// <param name="plugIn">
        /// Information about the new plug-in.
        /// </param>
        /// <exception cref="InvalidOperationException">
        /// There is already a plug-in with the same name in the dataset.
        /// </exception>
        public void Add(ExtensionInfo plugIn)
        {
        	Require.ArgumentNotNull(plugIn);
        	if (string.IsNullOrEmpty(plugIn.Name))
        		throw new ArgumentException("The plug-in's name is null or empty.");
        	if (this[plugIn.Name] != null) {
        		string mesg = string.Format("A plug-in with the name \"{0}\" is already in the dataset",
        		                            plugIn.Name);
        		throw new InvalidOperationException(mesg);
        	}

        	plugIns.Add(plugIn);
        }