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); }
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); }
//--------------------------------------------------------------------- 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. }
//--------------------------------------------------------------------- /// <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); }