~halega/+junk/sharpdevelop

« back to all changes in this revision

Viewing changes to src/AddIns/BackendBindings/XamlBinding/XamlBinding.Tests/ExtensionsTests.cs

  • Committer: sk
  • Date: 2011-09-10 05:17:57 UTC
  • Revision ID: halega@halega.com-20110910051757-qfouz1llya9m6boy
4.1.0.7915 Release Candidate 1

Show diffs side-by-side

added added

removed removed

Lines of Context:
 
1
// Copyright (c) AlphaSierraPapa for the SharpDevelop Team (for details please see \doc\copyright.txt)
 
2
// This code is distributed under the GNU LGPL (for details please see \doc\license.txt)
 
3
 
 
4
using System;
 
5
using ICSharpCode.SharpDevelop.Editor;
 
6
using ICSharpCode.SharpDevelop.Editor.AvalonEdit;
 
7
using NUnit.Framework;
 
8
using System.Linq;
 
9
using System.Xml.Linq;
 
10
 
 
11
namespace ICSharpCode.XamlBinding.Tests
 
12
{
 
13
        [TestFixture]
 
14
        public class ExtensionsTests
 
15
        {
 
16
                [Test]
 
17
                public void StringReplaceTest1()
 
18
                {
 
19
                        string text = "Hello World!";
 
20
                        int index = 0;
 
21
                        int length = 5;
 
22
                        string newText = "Bye";
 
23
                        
 
24
                        string result = text.Replace(index, length, newText);
 
25
                        string expected = "Bye World!";
 
26
                        
 
27
                        Assert.AreEqual(expected, result);
 
28
                }
 
29
                
 
30
                [Test]
 
31
                public void StringReplaceTest2()
 
32
                {
 
33
                        string text = "My Hello World!";
 
34
                        int index = 3;
 
35
                        int length = 5;
 
36
                        string newText = "Bye";
 
37
                        
 
38
                        string result = text.Replace(index, length, newText);
 
39
                        string expected = "My Bye World!";
 
40
                        
 
41
                        Assert.AreEqual(expected, result);
 
42
                }
 
43
                
 
44
                [Test]
 
45
                public void StringReplaceTest3()
 
46
                {
 
47
                        string text = "Hello World!";
 
48
                        int index = 6;
 
49
                        int length = 5;
 
50
                        string newText = "Byte";
 
51
                        
 
52
                        string result = text.Replace(index, length, newText);
 
53
                        string expected = "Hello Byte!";
 
54
                        
 
55
                        Assert.AreEqual(expected, result);
 
56
                }
 
57
                
 
58
                [Test]
 
59
                public void StringReplaceTest4()
 
60
                {
 
61
                        string text = "Hello World!";
 
62
                        int index = 11;
 
63
                        int length = 1;
 
64
                        string newText = "?";
 
65
                        
 
66
                        string result = text.Replace(index, length, newText);
 
67
                        string expected = "Hello World?";
 
68
                        
 
69
                        Assert.AreEqual(expected, result);
 
70
                }
 
71
                
 
72
                [Test]
 
73
                [STAThread]
 
74
                public void GetWordBeforeCaretExtendedTest1()
 
75
                {
 
76
                        ITextEditor editor = new AvalonEditTextEditorAdapter(new AvalonEdit.TextEditor());
 
77
                        editor.Document.Text = "<Test />";
 
78
                        editor.Caret.Offset = 6;
 
79
                        string text = editor.GetWordBeforeCaretExtended();
 
80
                        Assert.AreEqual(string.Empty, text);
 
81
                }
 
82
                
 
83
                [Test]
 
84
                [STAThread]
 
85
                public void GetWordBeforeCaretExtendedTest2()
 
86
                {
 
87
                        ITextEditor editor = new AvalonEditTextEditorAdapter(new AvalonEdit.TextEditor());
 
88
                        editor.Document.Text = "<Test value=\"\" />";
 
89
                        editor.Caret.Offset = 6;
 
90
                        string text = editor.GetWordBeforeCaretExtended();
 
91
                        Assert.AreEqual(string.Empty, text);
 
92
                }
 
93
                
 
94
                [Test]
 
95
                [STAThread]
 
96
                public void GetWordBeforeCaretExtendedTest3()
 
97
                {
 
98
                        ITextEditor editor = new AvalonEditTextEditorAdapter(new AvalonEdit.TextEditor());
 
99
                        editor.Document.Text = "<Test value=\"\" />";
 
100
                        editor.Caret.Offset = 14;
 
101
                        string text = editor.GetWordBeforeCaretExtended();
 
102
                        Assert.AreEqual(string.Empty, text);
 
103
                }
 
104
                
 
105
                [Test]
 
106
                [STAThread]
 
107
                public void GetWordBeforeCaretExtendedTest4()
 
108
                {
 
109
                        ITextEditor editor = new AvalonEditTextEditorAdapter(new AvalonEdit.TextEditor());
 
110
                        editor.Document.Text = "<Test value=\"\" />";
 
111
                        editor.Caret.Offset = 11;
 
112
                        string text = editor.GetWordBeforeCaretExtended();
 
113
                        Assert.AreEqual("value", text);
 
114
                }
 
115
                
 
116
                [Test]
 
117
                [STAThread]
 
118
                public void GetWordBeforeCaretExtendedTest5()
 
119
                {
 
120
                        ITextEditor editor = new AvalonEditTextEditorAdapter(new AvalonEdit.TextEditor());
 
121
                        editor.Document.Text = "<Test member.value=\"\" />";
 
122
                        editor.Caret.Offset = 12;
 
123
                        string text = editor.GetWordBeforeCaretExtended();
 
124
                        Assert.AreEqual("member", text);
 
125
                }
 
126
                
 
127
                [Test]
 
128
                [STAThread]
 
129
                public void GetWordBeforeCaretExtendedTest6()
 
130
                {
 
131
                        ITextEditor editor = new AvalonEditTextEditorAdapter(new AvalonEdit.TextEditor());
 
132
                        editor.Document.Text = "<Test member.value=\"\" />";
 
133
                        editor.Caret.Offset = 13;
 
134
                        string text = editor.GetWordBeforeCaretExtended();
 
135
                        Assert.AreEqual("member.", text);
 
136
                }
 
137
                
 
138
                [Test]
 
139
                [STAThread]
 
140
                public void GetWordBeforeCaretExtendedTest7()
 
141
                {
 
142
                        ITextEditor editor = new AvalonEditTextEditorAdapter(new AvalonEdit.TextEditor());
 
143
                        editor.Document.Text = "<Test member.value=\"\" />";
 
144
                        editor.Caret.Offset = 14;
 
145
                        string text = editor.GetWordBeforeCaretExtended();
 
146
                        Assert.AreEqual("member.v", text);
 
147
                }
 
148
                
 
149
                [Test]
 
150
                public void MoveBeforeTest1()
 
151
                {
 
152
                        string xml = "<Test value=\"A\"><Item value=\"B\" /><Item value=\"C\" /></Test>";
 
153
                        XElement parent = XElement.Parse(xml);
 
154
                        XElement item = parent.Elements().ElementAt(0);
 
155
                        XElement itemToMove = parent.Elements().ElementAt(1);
 
156
                        itemToMove.MoveBefore(item);
 
157
                        Assert.AreEqual(itemToMove, parent.Elements().First());
 
158
                }
 
159
        }
 
160
}