private static void CheckLocalDynamicEnums(List <LocalDynamicEnumerationData> dynamicEnums, TypeSet t, Action CheckContents, ref ParameterType modifiedType) { LocalDynamicEnumerationData DE1 = new LocalDynamicEnumerationData("DE1", ParameterType.Parse("5200fb71-c373-457b-be1d-e11b45ce9d9a")); LocalDynamicEnumerationData DE2 = new LocalDynamicEnumerationData("DE2", ParameterType.Parse("ad9e7fd8-a86b-4059-b28a-697774aa3b63")); LocalDynamicEnumerationData DE3 = new LocalDynamicEnumerationData("DE3", ParameterType.Parse("f29f7131-e6b7-439b-b1cd-e09a6e1b9897")); t.AddLocalDynamicEnum(DE1); dynamicEnums.Add(DE1); Assert.That(modifiedType, Is.EqualTo(DE1.TypeId)); modifiedType = null; CheckContents(); t.Remove(DE1.TypeId); dynamicEnums.Remove(DE1); Assert.That(modifiedType, Is.EqualTo(DE1.TypeId)); modifiedType = null; CheckContents(); t.AddLocalDynamicEnum(DE2); dynamicEnums.Add(DE2); Assert.That(modifiedType, Is.EqualTo(DE2.TypeId)); modifiedType = null; CheckContents(); t.AddLocalDynamicEnum(DE3); dynamicEnums.Add(DE3); Assert.That(modifiedType, Is.EqualTo(DE3.TypeId)); modifiedType = null; CheckContents(); LocalDynamicEnumerationData DE3Modified = new LocalDynamicEnumerationData("DE3Modified", ParameterType.Parse("f29f7131-e6b7-439b-b1cd-e09a6e1b9897")); t.RenameType(DE3.TypeId, DE3Modified.Name); dynamicEnums[dynamicEnums.IndexOf(DE3)] = DE3Modified; Assert.That(modifiedType, Is.EqualTo(DE3Modified.TypeId)); modifiedType = null; CheckContents(); }
public static void TestLocalDynamicEnumSource() { TypeSet t = new TypeSet(); LocalDynamicEnumerationData d1 = new LocalDynamicEnumerationData("d1", ParameterType.Parse("ed53be0d-c62a-4c0c-9f6e-e92d996bf3df")); LocalDynamicEnumerationData d2 = new LocalDynamicEnumerationData("d2", ParameterType.Parse("6980f4d7-4ad8-4bc0-bacb-4907d922d4e9")); t.AddLocalDynamicEnum(d1); t.AddLocalDynamicEnum(d2); var doc1 = new object(); var doc2 = new object(); var A1 = t.Make(d1.TypeId, "test1", Id <Parameter> .Parse("f95d62c4-b6c5-4c31-be69-c0cc3a35697e"), "default1", doc1) as IDynamicEnumParameter; var A2 = t.Make(d1.TypeId, "test2", Id <Parameter> .Parse("3ff9251e-bd1f-4543-9719-3b8e5992f8ce"), "default2", doc1) as IDynamicEnumParameter; var B1 = t.Make(d1.TypeId, "test3", Id <Parameter> .Parse("117a01a5-21df-4252-8120-8a11fe601ec6"), "default3", doc2) as IDynamicEnumParameter; var C1 = t.Make(d2.TypeId, "test3", Id <Parameter> .Parse("117a01a5-21df-4252-8120-8a11fe601ec6"), "default3", doc1) as IDynamicEnumParameter; A1.SetValueAction("shane").Value.Redo(); B1.SetValueAction("not").Value.Redo(); C1.SetValueAction("not either").Value.Redo(); Assert.That(A1.Options, Is.EquivalentTo(new[] { "shane", "default2" })); Assert.That(A2.Options, Is.EquivalentTo(new[] { "shane", "default2" })); Assert.That(B1.Options, Is.EquivalentTo(new[] { "not" })); Assert.That(C1.Options, Is.EquivalentTo(new[] { "not either" })); }