From 0b2dfecf27886cc5e7abcb4220d3435c3d89b680 Mon Sep 17 00:00:00 2001 From: David Sparer Date: Mon, 17 Oct 2016 11:45:59 -0600 Subject: [PATCH] Created more containerinfo tests --- .../Container/ContainerInfoTests.cs | 99 ++++++++++++++++++- 1 file changed, 98 insertions(+), 1 deletion(-) diff --git a/mRemoteNGTests/Container/ContainerInfoTests.cs b/mRemoteNGTests/Container/ContainerInfoTests.cs index 59b425245..133f50694 100644 --- a/mRemoteNGTests/Container/ContainerInfoTests.cs +++ b/mRemoteNGTests/Container/ContainerInfoTests.cs @@ -1,4 +1,5 @@ -using System.Linq; +using System.ComponentModel; +using System.Linq; using mRemoteNG.Connection; using mRemoteNG.Container; using NUnit.Framework; @@ -329,5 +330,101 @@ namespace mRemoteNGTests.Container var lastIndex = _containerInfo.Children.Count - 1; Assert.That(newChildIndex, Is.EqualTo(lastIndex)); } + + [Test] + public void SortAscendingSortsCorrectlyByName() + { + _containerInfo.AddChild(_con2); + _containerInfo.AddChild(_con1); + _containerInfo.AddChild(_con3); + _containerInfo.Sort(); + var orderAfterSort = _containerInfo.Children.ToArray(); + Assert.That(orderAfterSort, Is.Ordered.Ascending.By(nameof(ConnectionInfo.Name))); + } + + [Test] + public void SortDescendingSortsCorrectlyByName() + { + _containerInfo.AddChild(_con2); + _containerInfo.AddChild(_con1); + _containerInfo.AddChild(_con3); + _containerInfo.Sort(ListSortDirection.Descending); + var orderAfterSort = _containerInfo.Children.ToArray(); + Assert.That(orderAfterSort, Is.Ordered.Descending.By(nameof(ConnectionInfo.Name))); + } + + [Test] + public void SortOnConstantIdAscendingSortsCorrectly() + { + _containerInfo.AddChild(_con2); + _containerInfo.AddChild(_con1); + _containerInfo.AddChild(_con3); + _containerInfo.SortOn(node=> node.ConstantID); + var orderAfterSort = _containerInfo.Children.ToArray(); + Assert.That(orderAfterSort, Is.Ordered.Ascending.By(nameof(ConnectionInfo.ConstantID))); + } + + [Test] + public void SortOnConstantIdDescendingSortsCorrectly() + { + _containerInfo.AddChild(_con2); + _containerInfo.AddChild(_con1); + _containerInfo.AddChild(_con3); + _containerInfo.SortOn(node => node.ConstantID, ListSortDirection.Descending); + var orderAfterSort = _containerInfo.Children.ToArray(); + Assert.That(orderAfterSort, Is.Ordered.Descending.By(nameof(ConnectionInfo.ConstantID))); + } + + [Test] + public void SortAscendingRecursiveSortsGrandchildrenCorrectlyByName() + { + var childContainer = new ContainerInfo(); + childContainer.AddChild(_con2); + childContainer.AddChild(_con1); + childContainer.AddChild(_con3); + _containerInfo.AddChild(childContainer); + _containerInfo.SortRecursive(); + var grandchildOrderAfterSort = childContainer.Children.ToArray(); + Assert.That(grandchildOrderAfterSort, Is.Ordered.Ascending.By(nameof(ConnectionInfo.Name))); + } + + [Test] + public void SortDescendingRecursiveSortsGrandchildrenCorrectlyByName() + { + var childContainer = new ContainerInfo(); + childContainer.AddChild(_con2); + childContainer.AddChild(_con1); + childContainer.AddChild(_con3); + _containerInfo.AddChild(childContainer); + _containerInfo.SortRecursive(ListSortDirection.Descending); + var grandchildOrderAfterSort = _containerInfo.Children.ToArray(); + Assert.That(grandchildOrderAfterSort, Is.Ordered.Descending.By(nameof(ConnectionInfo.Name))); + } + + [Test] + public void SortOnRecursiveConstantIdAscendingSortsGrandchildrenCorrectly() + { + var childContainer = new ContainerInfo(); + childContainer.AddChild(_con2); + childContainer.AddChild(_con1); + childContainer.AddChild(_con3); + _containerInfo.AddChild(childContainer); + _containerInfo.SortOnRecursive(node => node.ConstantID); + var grandchildOrderAfterSort = _containerInfo.Children.ToArray(); + Assert.That(grandchildOrderAfterSort, Is.Ordered.Ascending.By(nameof(ConnectionInfo.ConstantID))); + } + + [Test] + public void SortOnRecursiveConstantIdDescendingSortsGrandchildrenCorrectly() + { + var childContainer = new ContainerInfo(); + childContainer.AddChild(_con2); + childContainer.AddChild(_con1); + childContainer.AddChild(_con3); + _containerInfo.AddChild(childContainer); + _containerInfo.SortOnRecursive(node => node.ConstantID, ListSortDirection.Descending); + var grandchildOrderAfterSort = _containerInfo.Children.ToArray(); + Assert.That(grandchildOrderAfterSort, Is.Ordered.Descending.By(nameof(ConnectionInfo.ConstantID))); + } } } \ No newline at end of file