Beispiel #1
0
        public void ListOperations()
        {
            var list = ComponentManager.AddCategory("x").AddList();
            List <ComponentListUpdatedEventArgs> args = new List <ComponentListUpdatedEventArgs>();

            list.Updated += (s, e) =>
            {
                args.Add(e);
            };

            var newComponent  = new TestComponent();
            var newComponent2 = new TestComponent();

            list.RegisterComponent(newComponent);
            list.RegisterComponent(newComponent);
            list.ReregisterComponent(newComponent2, 1);
            list.UnregisterComponent(1);

            Assert.AreEqual(ComponentListUpdatedType.Register, args[0].Type);
            Assert.AreEqual(newComponent, args[0].Registered);

            Assert.AreEqual(ComponentListUpdatedType.Register, args[1].Type);
            Assert.AreEqual(newComponent, args[1].Registered);

            Assert.AreEqual(ComponentListUpdatedType.Reregister, args[2].Type);
            Assert.AreEqual(newComponent2, args[2].Registered);
            Assert.AreEqual(1, args[2].Index);

            Assert.AreEqual(ComponentListUpdatedType.Unregister, args[3].Type);
            Assert.AreEqual(1, args[3].Index);
        }
Beispiel #2
0
        public void CategoryOperations()
        {
            var category = ComponentManager.AddCategory("abc");

            Assert.IsTrue(ComponentManager.TryGetCategory("abc", out _));

            List <CategoryChangedEventArgs> args = new List <CategoryChangedEventArgs>();

            category.CategoryChanged += (s, e) =>
            {
                args.Add(e);
            };

            var l  = category.AddList();
            var l2 = category.AddList();

            category.RemoveList(1);

            Assert.AreEqual(CategoryChangedType.Add, args[0].Type);
            Assert.AreEqual(l, args[0].ItemAdded);

            Assert.AreEqual(CategoryChangedType.Add, args[1].Type);
            Assert.AreEqual(l2, args[1].ItemAdded);

            Assert.AreEqual(CategoryChangedType.Remove, args[2].Type);
            Assert.AreEqual(1, args[2].ItemRemoved);

            ComponentManager.RemoveCategory("abc");
            Assert.IsFalse(ComponentManager.TryGetCategory("abc", out _));
        }