public void Render_WithTargets_RendersTargets() { var mockUIStateTracker = new MockUIStateTracker() { CurrentTargetPositions = new List <int>() { 2, 4, 5, 6, 8 }, CurrentTargetPosition = 1 }; var uiCharacterManager = new UICharacterManager(); var formationPanel = new FormationPanel(mockUIStateTracker, uiCharacterManager); formationPanel.IsActive = true; var expected = new List <string>() { " ", " ", " ", " ", " ", " ", " ", " ┌─┐ ┌─┐ ┌─┐ ┌─┐ ┌─┐ ┌─┐ ", " │ │ │ │ │ │ │ │ │ │ │ │ ", " └─┘ └─┘ └─┘ └─┘ └─┘ └─┘ ", " ▲ ", " ", " ", " ", " ", " ┌─┐ ┌─┐ ┌─┐ ┌─┐ ┌─┐ ┌─┐ ", " │ │ │ │ │ │ │ │ │ │ │ │ ", " └─┘ └─┘ └─┘ └─┘ └─┘ └─┘ ", " ▲ ▲ ▲ ", " ", " ", " ", " ", " ┌─┐ ┌─┐ ┌─┐ ┌─┐ ┌─┐ ┌─┐ ", " │ │ │ │ │ │ │ │ │ │ │ │ ", " └─┘ └─┘ └─┘ └─┘ └─┘ └─┘ ", " ▲ ", " ", " ", " ", " " }; var actual = new List <string>(formationPanel.Render()); CollectionAssert.AreEqual(expected, actual); }
public void Render_WithPositionsTwoFiveAndActiveId_RendersActiveBox() { var mockUIStateTracker = new MockUIStateTracker(); var uiCharacterManager = new UICharacterManager { Characters = new List <DisplayCharacter>() { new DisplayCharacter() { Id = 1, Name = "", Symbol = 'A', Position = 2, CurrentHealth = 100, MaxHealth = 100 }, new DisplayCharacter() { Id = 2, Name = "", Symbol = 'B', Position = 5, CurrentHealth = 100, MaxHealth = 100 } } }; var formationPanel = new FormationPanel(mockUIStateTracker, uiCharacterManager); mockUIStateTracker.CurrentTargetPosition = 1; mockUIStateTracker.ActiveCharacterId = 1; mockUIStateTracker.IsInFormationPanel = false; var expected = new List <string>() { " ", " ", " ", " ", " ", " │■■■■■│ ", " ", " ┌─┐ ╔═╗ ┌─┐ ┌─┐ ┌─┐ ┌─┐ ", " │ │ ║A║ │ │ │ │ │ │ │ │ ", " └─┘ ╚═╝ └─┘ └─┘ └─┘ └─┘ ", " ", " ", " ", " │■■■■■│ ", " ", " ┌─┐ ┌─┐ ┌─┐ ┌─┐ ┌─┐ ┌─┐ ", " │ │ │B│ │ │ │ │ │ │ │ │ ", " └─┘ └─┘ └─┘ └─┘ └─┘ └─┘ ", " ", " ", " ", " ", " ", " ┌─┐ ┌─┐ ┌─┐ ┌─┐ ┌─┐ ┌─┐ ", " │ │ │ │ │ │ │ │ │ │ │ │ ", " └─┘ └─┘ └─┘ └─┘ └─┘ └─┘ ", " ", " ", " ", " ", " " }; var actual = new List <string>(formationPanel.Render()); CollectionAssert.AreEqual(expected, actual); }
public void Render_WithPositionsSixNineElevenFourteen_RendersSymbols() { var mockUIStateTracker = new MockUIStateTracker(); var uiCharacterManager = new UICharacterManager { Characters = new List <DisplayCharacter>() { new DisplayCharacter() { Id = 1, Name = "", Symbol = 'A', Position = 6, CurrentHealth = 100, MaxHealth = 100 }, new DisplayCharacter() { Id = 2, Name = "", Symbol = 'B', Position = 9, CurrentHealth = 100, MaxHealth = 100 }, new DisplayCharacter() { Id = 3, Name = "", Symbol = 'C', Position = 11, CurrentHealth = 100, MaxHealth = 100 }, new DisplayCharacter() { Id = 4, Name = "", Symbol = 'D', Position = 14, CurrentHealth = 100, MaxHealth = 100 } } }; var formationPanel = new FormationPanel(mockUIStateTracker, uiCharacterManager); mockUIStateTracker.CurrentTargetPosition = 1; mockUIStateTracker.ActiveCharacterId = 0; mockUIStateTracker.IsInFormationPanel = false; var expected = new List <string>() { " ", " ", " ", " ", " ", " │■■■■■│ ", " ", " ┌─┐ ┌─┐ ┌─┐ ┌─┐ ┌─┐ ┌─┐ ", " │ │ │ │ │ │ │ │ │C│ │ │ ", " └─┘ └─┘ └─┘ └─┘ └─┘ └─┘ ", " ", " ", " ", " │■■■■■│ │■■■■■│ ", " ", " ┌─┐ ┌─┐ ┌─┐ ┌─┐ ┌─┐ ┌─┐ ", " │ │ │ │ │A│ │ │ │D│ │ │ ", " └─┘ └─┘ └─┘ └─┘ └─┘ └─┘ ", " ", " ", " ", " │■■■■■│ ", " ", " ┌─┐ ┌─┐ ┌─┐ ┌─┐ ┌─┐ ┌─┐ ", " │ │ │ │ │B│ │ │ │ │ │ │ ", " └─┘ └─┘ └─┘ └─┘ └─┘ └─┘ ", " ", " ", " ", " ", " " }; var actual = new List <string>(formationPanel.Render()); CollectionAssert.AreEqual(expected, actual); }