Skip to content

Commit 147830d

Browse files
committed
Most unix-style linefeeds to windows-style linefeeds
1 parent 96dbf53 commit 147830d

File tree

3 files changed

+176
-173
lines changed

3 files changed

+176
-173
lines changed

.gitattributes

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -8,6 +8,9 @@
88
*.rc eol=crlf
99
*.vcproj eol=crlf
1010
*.sln eol=crlf
11+
*.nuspec eol=crlf
12+
*.config eol=crlf
13+
*.md eol=lf
1114

1215
###############################################################################
1316
# Set default behavior for command prompt diff.
Lines changed: 171 additions & 171 deletions
Original file line numberDiff line numberDiff line change
@@ -1,171 +1,171 @@
1-
using System;
2-
using System.Collections.Generic;
3-
using System.Collections.ObjectModel;
4-
using System.Linq;
5-
using Microsoft.VisualStudio.TestTools.UnitTesting;
6-
using Irony.Parsing;
7-
using System.Globalization;
8-
using XLParser;
9-
10-
namespace XLParser.Tests
11-
{
12-
[TestClass]
13-
public class FormulaAnalysisTest
14-
{
15-
#region Numbers()
16-
[TestMethod]
17-
public void FixedNumbers()
18-
{
19-
var fa = new FormulaAnalyzer("SUM(A1,3.1+4)");
20-
var nums = fa.Numbers().ToList();
21-
22-
CollectionAssert.Contains(nums, 3.1);
23-
CollectionAssert.Contains(nums, 4.0);
24-
Assert.AreEqual(2, nums.Count());
25-
}
26-
27-
[TestMethod]
28-
public void NoFixedNumbers()
29-
{
30-
var fa = new FormulaAnalyzer("A1+B2");
31-
var nums = fa.Numbers().ToList();
32-
Assert.AreEqual(0, nums.Count());
33-
}
34-
35-
[TestMethod]
36-
public void FixedInt()
37-
{
38-
var fa = new FormulaAnalyzer("3");
39-
var nums = fa.Numbers().ToList();
40-
CollectionAssert.Contains(nums, 3.0);
41-
Assert.AreEqual(1, nums.Count());
42-
}
43-
44-
[TestMethod]
45-
public void FixedReal()
46-
{
47-
var fa = new FormulaAnalyzer("0.1");
48-
var nums = fa.Numbers().ToList();
49-
CollectionAssert.Contains(nums, 0.1);
50-
Assert.AreEqual(1, nums.Count());
51-
}
52-
53-
[TestMethod]
54-
public void Duplicate()
55-
{
56-
var fa = new FormulaAnalyzer("3+3");
57-
var nums = fa.Numbers().ToList();
58-
Assert.AreEqual(2, nums.Count());
59-
}
60-
#endregion
61-
62-
#region Functions()
63-
[TestMethod]
64-
public void CountInfixOperations()
65-
{
66-
var fa = new FormulaAnalyzer("3+4/5");
67-
var ops = fa.Functions().ToList();
68-
Assert.AreEqual(2, ops.Count());
69-
CollectionAssert.Contains(ops, "+");
70-
CollectionAssert.Contains(ops, "/");
71-
}
72-
73-
[TestMethod]
74-
public void CountFunctionOperations()
75-
{
76-
var fa = new FormulaAnalyzer("SUM(3,5)");
77-
var ops = fa.Functions().ToList();
78-
Assert.AreEqual(1, ops.Count());
79-
CollectionAssert.Contains(ops, "SUM");
80-
}
81-
82-
[TestMethod]
83-
public void CountPostfixOperations()
84-
{
85-
var fa = new FormulaAnalyzer("A6%");
86-
var ops = fa.Functions().ToList();
87-
Assert.AreEqual(1, ops.Count());
88-
CollectionAssert.Contains(ops, "%");
89-
}
90-
91-
[TestMethod]
92-
public void DontCountSheetReferenes()
93-
{
94-
string formula = "Weight!B1";
95-
var fa = new FormulaAnalyzer(formula);
96-
Assert.AreEqual(0, fa.Functions().Count());
97-
}
98-
99-
[TestMethod]
100-
public void CountComparisons()
101-
{
102-
var fa = new FormulaAnalyzer("IF(A1>A2,3,4)");
103-
var ops = fa.Functions().Distinct().ToList();
104-
Assert.AreEqual(2, ops.Count());
105-
CollectionAssert.Contains(ops, ">");
106-
CollectionAssert.Contains(ops, "IF");
107-
}
108-
109-
[TestMethod]
110-
public void ComparisonIsFunction()
111-
{
112-
var fa = new FormulaAnalyzer("IF(A1<=A2,A1+1,A2)");
113-
CollectionAssert.Contains(fa.Functions().ToList(), "<=");
114-
}
115-
116-
[TestMethod]
117-
public void IntersectIsFunction()
118-
{
119-
var fa = new FormulaAnalyzer("SUM(A1:A3 A2:A3)");
120-
var functions = fa.Functions().Distinct().ToList();
121-
CollectionAssert.Contains(functions, "INTERSECT");
122-
}
123-
#endregion
124-
125-
#region References()
126-
127-
[TestMethod]
128-
public void OnlyDirectReferences()
129-
{
130-
// Make sure A1:A10 isn't returned as "A1:A10", "A1" and "A10"
131-
var fa = new FormulaAnalyzer("SUM(A1:A10)");
132-
var references = fa.References().ToList();
133-
CollectionAssert.AreEqual(references.Select(ExcelFormulaParser.Print).ToList(), new [] { "A1:A10" });
134-
fa = new FormulaAnalyzer("(A1)+2");
135-
references = fa.References().ToList();
136-
CollectionAssert.AreEqual(references.Select(ExcelFormulaParser.Print).ToList(), new [] {"A1" });
137-
}
138-
#endregion
139-
140-
#region Depth() and ConditionalComplexity()
141-
142-
[TestMethod]
143-
public void TestDepth()
144-
{
145-
var fa = new FormulaAnalyzer("SUM(1,2+SUM(3),3)");
146-
Assert.AreEqual(fa.Depth(), 4);
147-
Assert.AreEqual(fa.OperatorDepth(), 3);
148-
}
149-
150-
[TestMethod]
151-
public void TestConditionalComplexity()
152-
{
153-
var fa1 = new FormulaAnalyzer("1");
154-
Assert.AreEqual(fa1.ConditionalComplexity(), 0);
155-
var fa2 = new FormulaAnalyzer("IF(TRUE,IF(FALSE,1,0),0)");
156-
Assert.AreEqual(fa2.ConditionalComplexity(), 2);
157-
}
158-
#endregion
159-
160-
#region Constants()
161-
162-
[TestMethod]
163-
public void TestConstants()
164-
{
165-
var fa = new FormulaAnalyzer("1*3-8-(-9)+VLOOKUP($A:$B,5,10)&\"ABC\"+TRUE*-3");
166-
var constants = fa.Constants().ToList();
167-
CollectionAssert.AreEqual(new[] { "1", "3", "8", "-9", "5", "10", "\"ABC\"", "TRUE", "-3"}, constants);
168-
}
169-
#endregion
170-
}
171-
}
1+
using System;
2+
using System.Collections.Generic;
3+
using System.Collections.ObjectModel;
4+
using System.Linq;
5+
using Microsoft.VisualStudio.TestTools.UnitTesting;
6+
using Irony.Parsing;
7+
using System.Globalization;
8+
using XLParser;
9+
10+
namespace XLParser.Tests
11+
{
12+
[TestClass]
13+
public class FormulaAnalysisTest
14+
{
15+
#region Numbers()
16+
[TestMethod]
17+
public void FixedNumbers()
18+
{
19+
var fa = new FormulaAnalyzer("SUM(A1,3.1+4)");
20+
var nums = fa.Numbers().ToList();
21+
22+
CollectionAssert.Contains(nums, 3.1);
23+
CollectionAssert.Contains(nums, 4.0);
24+
Assert.AreEqual(2, nums.Count());
25+
}
26+
27+
[TestMethod]
28+
public void NoFixedNumbers()
29+
{
30+
var fa = new FormulaAnalyzer("A1+B2");
31+
var nums = fa.Numbers().ToList();
32+
Assert.AreEqual(0, nums.Count());
33+
}
34+
35+
[TestMethod]
36+
public void FixedInt()
37+
{
38+
var fa = new FormulaAnalyzer("3");
39+
var nums = fa.Numbers().ToList();
40+
CollectionAssert.Contains(nums, 3.0);
41+
Assert.AreEqual(1, nums.Count());
42+
}
43+
44+
[TestMethod]
45+
public void FixedReal()
46+
{
47+
var fa = new FormulaAnalyzer("0.1");
48+
var nums = fa.Numbers().ToList();
49+
CollectionAssert.Contains(nums, 0.1);
50+
Assert.AreEqual(1, nums.Count());
51+
}
52+
53+
[TestMethod]
54+
public void Duplicate()
55+
{
56+
var fa = new FormulaAnalyzer("3+3");
57+
var nums = fa.Numbers().ToList();
58+
Assert.AreEqual(2, nums.Count());
59+
}
60+
#endregion
61+
62+
#region Functions()
63+
[TestMethod]
64+
public void CountInfixOperations()
65+
{
66+
var fa = new FormulaAnalyzer("3+4/5");
67+
var ops = fa.Functions().ToList();
68+
Assert.AreEqual(2, ops.Count());
69+
CollectionAssert.Contains(ops, "+");
70+
CollectionAssert.Contains(ops, "/");
71+
}
72+
73+
[TestMethod]
74+
public void CountFunctionOperations()
75+
{
76+
var fa = new FormulaAnalyzer("SUM(3,5)");
77+
var ops = fa.Functions().ToList();
78+
Assert.AreEqual(1, ops.Count());
79+
CollectionAssert.Contains(ops, "SUM");
80+
}
81+
82+
[TestMethod]
83+
public void CountPostfixOperations()
84+
{
85+
var fa = new FormulaAnalyzer("A6%");
86+
var ops = fa.Functions().ToList();
87+
Assert.AreEqual(1, ops.Count());
88+
CollectionAssert.Contains(ops, "%");
89+
}
90+
91+
[TestMethod]
92+
public void DontCountSheetReferenes()
93+
{
94+
string formula = "Weight!B1";
95+
var fa = new FormulaAnalyzer(formula);
96+
Assert.AreEqual(0, fa.Functions().Count());
97+
}
98+
99+
[TestMethod]
100+
public void CountComparisons()
101+
{
102+
var fa = new FormulaAnalyzer("IF(A1>A2,3,4)");
103+
var ops = fa.Functions().Distinct().ToList();
104+
Assert.AreEqual(2, ops.Count());
105+
CollectionAssert.Contains(ops, ">");
106+
CollectionAssert.Contains(ops, "IF");
107+
}
108+
109+
[TestMethod]
110+
public void ComparisonIsFunction()
111+
{
112+
var fa = new FormulaAnalyzer("IF(A1<=A2,A1+1,A2)");
113+
CollectionAssert.Contains(fa.Functions().ToList(), "<=");
114+
}
115+
116+
[TestMethod]
117+
public void IntersectIsFunction()
118+
{
119+
var fa = new FormulaAnalyzer("SUM(A1:A3 A2:A3)");
120+
var functions = fa.Functions().Distinct().ToList();
121+
CollectionAssert.Contains(functions, "INTERSECT");
122+
}
123+
#endregion
124+
125+
#region References()
126+
127+
[TestMethod]
128+
public void OnlyDirectReferences()
129+
{
130+
// Make sure A1:A10 isn't returned as "A1:A10", "A1" and "A10"
131+
var fa = new FormulaAnalyzer("SUM(A1:A10)");
132+
var references = fa.References().ToList();
133+
CollectionAssert.AreEqual(references.Select(ExcelFormulaParser.Print).ToList(), new [] { "A1:A10" });
134+
fa = new FormulaAnalyzer("(A1)+2");
135+
references = fa.References().ToList();
136+
CollectionAssert.AreEqual(references.Select(ExcelFormulaParser.Print).ToList(), new [] {"A1" });
137+
}
138+
#endregion
139+
140+
#region Depth() and ConditionalComplexity()
141+
142+
[TestMethod]
143+
public void TestDepth()
144+
{
145+
var fa = new FormulaAnalyzer("SUM(1,2+SUM(3),3)");
146+
Assert.AreEqual(fa.Depth(), 4);
147+
Assert.AreEqual(fa.OperatorDepth(), 3);
148+
}
149+
150+
[TestMethod]
151+
public void TestConditionalComplexity()
152+
{
153+
var fa1 = new FormulaAnalyzer("1");
154+
Assert.AreEqual(fa1.ConditionalComplexity(), 0);
155+
var fa2 = new FormulaAnalyzer("IF(TRUE,IF(FALSE,1,0),0)");
156+
Assert.AreEqual(fa2.ConditionalComplexity(), 2);
157+
}
158+
#endregion
159+
160+
#region Constants()
161+
162+
[TestMethod]
163+
public void TestConstants()
164+
{
165+
var fa = new FormulaAnalyzer("1*3-8-(-9)+VLOOKUP($A:$B,5,10)&\"ABC\"+TRUE*-3");
166+
var constants = fa.Constants().ToList();
167+
CollectionAssert.AreEqual(new[] { "1", "3", "8", "-9", "5", "10", "\"ABC\"", "TRUE", "-3"}, constants);
168+
}
169+
#endregion
170+
}
171+
}

src/XLParser.Tests/ParserTests.cs

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -72,9 +72,9 @@ private void test(params string[] inputs) {
7272
public void BinaryOperators()
7373
{
7474
test(new [] {"A1*5", "1+1", "1-1", "1/1", "1^1", "1&1"},
75-
n=> n.IsBinaryOperation() && n.IsOperation() && n.IsBinaryNonReferenceOperation());
75+
n=> n.IsBinaryOperation() && n.IsOperation() && n.IsBinaryNonReferenceOperation());
7676
test(new[] { "A1:A1", "A1 A1" },
77-
n => n.IsBinaryOperation() && n.IsOperation() && n.IsBinaryReferenceOperation());
77+
n => n.IsBinaryOperation() && n.IsOperation() && n.IsBinaryReferenceOperation());
7878
}
7979

8080
[TestMethod]

0 commit comments

Comments
 (0)