public void RibbonManagerWithTransactions() { IRibbonManager manager = new RibbonManager(); IRibbonPage page1 = manager.DefaultCategory.Add("Page1"); IRibbonGroup group1 = page1.Add("Group1"); IRibbonButton button1 = group1.Add("Button1", null, RibbonButtonType.Large); Assert.AreEqual(1, manager.Categories.Count); Assert.AreEqual(1, manager.DefaultCategory.Pages.Count); Assert.AreEqual(1, page1.Groups.Count); Assert.AreEqual(1, group1.Buttons.Count); // Начинаем транзакцию. manager.BeginTransaction("Level 1"); IRibbonCategory category2 = manager.Add("Category2"); IRibbonPage page2 = manager.DefaultCategory.Add("Page2"); IRibbonGroup group2 = page1.Add("Group2"); IRibbonButton button2 = group1.Add("Button2", null, RibbonButtonType.Large); Assert.AreEqual(2, manager.Categories.Count); Assert.AreEqual(2, manager.DefaultCategory.Pages.Count); Assert.AreEqual(2, page1.Groups.Count); Assert.AreEqual(2, group1.Buttons.Count); // Отменяем транзакцию. manager.RollbackTransaction("Level 1"); Assert.AreEqual(1, manager.Categories.Count); Assert.AreEqual(1, manager.DefaultCategory.Pages.Count); Assert.AreEqual(1, page1.Groups.Count); Assert.AreEqual(1, group1.Buttons.Count); }
public void RibbonManagerSimple() { IRibbonManager manager = new RibbonManager(); IRibbonCategory customCategory = manager.Add("Custom Category"); IRibbonPage page = customCategory.Add("Page"); IRibbonGroup group = page.Add("Group"); IRibbonButton button = group.Add("Button", null, RibbonButtonType.Large); Assert.AreEqual(2, manager.Categories.Count); Assert.AreEqual(1, customCategory.Pages.Count); Assert.AreEqual(1, page.Groups.Count); Assert.AreEqual(1, group.Buttons.Count); Assert.IsInstanceOfType(manager.Categories[0], typeof(RibbonDefaultCategory)); Assert.IsInstanceOfType(manager.Categories[1], typeof(RibbonCustomCategory)); }