diff options
author | Mike Krüger <mkrueger@xamarin.com> | 2011-07-02 09:08:30 +0400 |
---|---|---|
committer | Mike Krüger <mkrueger@xamarin.com> | 2011-07-02 09:09:00 +0400 |
commit | b55090986bdcbe8cbbe5af2fe641e987d4cdee1d (patch) | |
tree | 3d19e5243302236607e170ed19ffb91cc88a578b /main/tests | |
parent | 6b9c48604181f83a7a8e9fb39933349bd74e7f3b (diff) |
Fixed some height tree issues, red-black tree now has both
insertafter/before operations.
Fixed/extended unit tests for the height tree/folding.
Diffstat (limited to 'main/tests')
-rw-r--r-- | main/tests/UnitTests/Mono.TextEditor.Tests/FoldingTests.cs | 2 | ||||
-rw-r--r-- | main/tests/UnitTests/Mono.TextEditor.Tests/HeightTreeTests.cs | 24 |
2 files changed, 20 insertions, 6 deletions
diff --git a/main/tests/UnitTests/Mono.TextEditor.Tests/FoldingTests.cs b/main/tests/UnitTests/Mono.TextEditor.Tests/FoldingTests.cs index ae784a96f6..c2623c096e 100644 --- a/main/tests/UnitTests/Mono.TextEditor.Tests/FoldingTests.cs +++ b/main/tests/UnitTests/Mono.TextEditor.Tests/FoldingTests.cs @@ -383,7 +383,7 @@ $1234567890"); int end = data.GetLine (8).Offset; data.Remove (start, end - start); Assert.AreEqual (1, data.Document.FoldSegments.Count ()); - Assert.AreEqual (8, data.LogicalToVisualLine (10)); + Assert.AreEqual (10, data.LogicalToVisualLine (10)); } [Test()] diff --git a/main/tests/UnitTests/Mono.TextEditor.Tests/HeightTreeTests.cs b/main/tests/UnitTests/Mono.TextEditor.Tests/HeightTreeTests.cs index 942e2e221e..35a0e6a60e 100644 --- a/main/tests/UnitTests/Mono.TextEditor.Tests/HeightTreeTests.cs +++ b/main/tests/UnitTests/Mono.TextEditor.Tests/HeightTreeTests.cs @@ -205,10 +205,24 @@ namespace Mono.TextEditor.Tests heightTree.Fold (1, 2); - for (int i = 4; i <= editor.LineCount; i++) { - var y = System.Math.Max (0, (i - 3) * editor.LineHeight); - Assert.AreEqual (y, heightTree.LineNumberToY (i)); - Assert.AreEqual (i, heightTree.YToLineNumber (y)); + heightTree.Fold (6, 4); + heightTree.Fold (5, 10); + + var f = heightTree.Fold (20, 8); + heightTree.Unfold (f, 20, 8); + + heightTree.Fold (20, 4); + heightTree.Fold (25, 4); + + for (int i = 50; i <= editor.LineCount; i++) { + var y = System.Math.Max (0, (i - 3 - 10 - 8) * editor.LineHeight); + Assert.AreEqual (y, heightTree.LineNumberToY (i), "line:" + i + " --> y:" + y); + Assert.AreEqual (i, heightTree.YToLineNumber (y), "y:" + y + " --> line:" + i); + } + for (int i = 50; i <= editor.LineCount; i++) { + var y = System.Math.Max (0, (i - 3 - 10 - 8) * editor.LineHeight); + Assert.AreEqual (y, heightTree.LineNumberToY (i), "line:" + i + " --> y:" + y); + Assert.AreEqual (i, heightTree.YToLineNumber (y), "y:" + y + " --> line:" + i); } } @@ -220,7 +234,7 @@ namespace Mono.TextEditor.Tests HeightTree heightTree = new HeightTree (editor); heightTree.Rebuild (); var f = heightTree.Fold (2, 2); - heightTree.Unfold (f); + heightTree.Unfold (f, 2, 2); for (int i = 1; i <= editor.LineCount; i++) { Assert.AreEqual ((i - 1) * editor.LineHeight, heightTree.LineNumberToY (i)); Assert.AreEqual (i, heightTree.YToLineNumber ((i - 1) * editor.LineHeight)); |