public void ShouldCreateEmptyListOfItemsWhenBoundToEmptyListOfLaunchers(bool nullLaunchers) { var actual = new OneLauncher.Services.RadialMenuItemBuilder.RadialMenuItemBuilder().BuildMenuItems(nullLaunchers ? null : new List <LaunchersNode>(), null).ToList(); Assert.That(actual, Is.Not.Null); Assert.That(actual, Has.Count.EqualTo(1)); // The setting button Assert.That(actual[0].Header, Is.EqualTo("Settings")); }
public void ShouldBuildRecursiveMenuItemsWhenParsingLaunchers() { var launchers = new List <LaunchersNode>() { new LaunchersNode() { Header = "Item1", Launchers = new List <LauncherLink>() { new LauncherLink() { Header = "Button1" } }, SubGroups = new List <LaunchersNode>() { new LaunchersNode() { Header = "Item1-1", Launchers = new List <LauncherLink>() { new LauncherLink() { Header = "Button1-1" } } } } }, new LaunchersNode() { Header = "Item2", Launchers = new List <LauncherLink>() { new LauncherLink() { Header = "Button2" } } } }; var actual = new OneLauncher.Services.RadialMenuItemBuilder.RadialMenuItemBuilder().BuildMenuItems(launchers, new OneLauncherViewModel()).ToList(); Assert.That(actual, Has.Count.EqualTo(3)); // 2 + the settings button var first = actual[0]; Assert.That(first.Header, Is.EqualTo("Item1")); Assert.That(first.Items, Has.Count.EqualTo(2)); var firstChild = first.Items[0] as RadialMenuItem; Assert.That(firstChild, Is.Not.Null); Assert.That(firstChild.Header, Is.EqualTo("Item1-1")); Assert.That(firstChild.Items, Has.Count.EqualTo(1)); Assert.That((firstChild.Items[0] as RadialMenuItem).Header, Is.EqualTo("Button1-1")); var firstSubChild = first.Items[1] as RadialMenuItem; Assert.That(firstSubChild, Is.Not.Null); Assert.That(firstSubChild.Header, Is.EqualTo("Button1")); var second = actual[1]; Assert.That(second.Header, Is.EqualTo("Item2")); Assert.That(second.Items, Has.Count.EqualTo(1)); var secondChild = second.Items[0] as RadialMenuItem; Assert.That(secondChild, Is.Not.Null); Assert.That(secondChild.Header, Is.EqualTo("Button2")); }