Skip to content

Commit 8f9921a

Browse files
add Expression readable string representations
1 parent 43b8c22 commit 8f9921a

2 files changed

Lines changed: 33 additions & 0 deletions

File tree

SearchExpressionParser.xcodeproj/project.pbxproj

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -31,6 +31,7 @@
3131
5048DFAC2078D0F900BAA4B0 /* AnyEquatable.swift in Sources */ = {isa = PBXBuildFile; fileRef = 5048DFAB2078D0F900BAA4B0 /* AnyEquatable.swift */; };
3232
5048DFAE2078D50500BAA4B0 /* TokenBuffer.swift in Sources */ = {isa = PBXBuildFile; fileRef = 5048DFAD2078D50500BAA4B0 /* TokenBuffer.swift */; };
3333
5048DFB02078D57D00BAA4B0 /* XCTAssertEqual+Expression.swift in Sources */ = {isa = PBXBuildFile; fileRef = 5048DFAF2078D57D00BAA4B0 /* XCTAssertEqual+Expression.swift */; };
34+
50765465207DEBC00090D5D2 /* Descriptions.swift in Sources */ = {isa = PBXBuildFile; fileRef = 50765464207DEBC00090D5D2 /* Descriptions.swift */; };
3435
50976269207937820002881A /* BalanceParenthesesTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = 50976268207937820002881A /* BalanceParenthesesTests.swift */; };
3536
5097626B207B44620002881A /* SearchExpressionParser.swift in Sources */ = {isa = PBXBuildFile; fileRef = 5097626A207B44620002881A /* SearchExpressionParser.swift */; };
3637
50976270207B47760002881A /* ExpressionTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = 5097626F207B47760002881A /* ExpressionTests.swift */; };
@@ -74,6 +75,7 @@
7475
5048DFAB2078D0F900BAA4B0 /* AnyEquatable.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = AnyEquatable.swift; sourceTree = "<group>"; };
7576
5048DFAD2078D50500BAA4B0 /* TokenBuffer.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = TokenBuffer.swift; sourceTree = "<group>"; };
7677
5048DFAF2078D57D00BAA4B0 /* XCTAssertEqual+Expression.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = "XCTAssertEqual+Expression.swift"; sourceTree = "<group>"; };
78+
50765464207DEBC00090D5D2 /* Descriptions.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = Descriptions.swift; sourceTree = "<group>"; };
7779
50976268207937820002881A /* BalanceParenthesesTests.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = BalanceParenthesesTests.swift; sourceTree = "<group>"; };
7880
5097626A207B44620002881A /* SearchExpressionParser.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = SearchExpressionParser.swift; sourceTree = "<group>"; };
7981
5097626F207B47760002881A /* ExpressionTests.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ExpressionTests.swift; sourceTree = "<group>"; };
@@ -136,6 +138,7 @@
136138
5048DFA92078D00F00BAA4B0 /* ParserTests.swift */,
137139
50976268207937820002881A /* BalanceParenthesesTests.swift */,
138140
5097626F207B47760002881A /* ExpressionTests.swift */,
141+
50765464207DEBC00090D5D2 /* Descriptions.swift */,
139142
5048DF8520789FD300BAA4B0 /* TestHelpers.swift */,
140143
5048DFAF2078D57D00BAA4B0 /* XCTAssertEqual+Expression.swift */,
141144
5048DF8C2078A3C600BAA4B0 /* XCTAssertEqual+Token.swift */,
@@ -326,6 +329,7 @@
326329
50976269207937820002881A /* BalanceParenthesesTests.swift in Sources */,
327330
5048DFAA2078D00F00BAA4B0 /* ParserTests.swift in Sources */,
328331
5048DF6D2078985800BAA4B0 /* TokenizerTests.swift in Sources */,
332+
50765465207DEBC00090D5D2 /* Descriptions.swift in Sources */,
329333
50976270207B47760002881A /* ExpressionTests.swift in Sources */,
330334
5048DFB02078D57D00BAA4B0 /* XCTAssertEqual+Expression.swift in Sources */,
331335
5048DF8D2078A3C600BAA4B0 /* XCTAssertEqual+Token.swift in Sources */,
Lines changed: 29 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,29 @@
1+
// Copyright © 2018 Christian Tietze. All rights reserved. Distributed under the MIT License.
2+
3+
import SearchExpressionParser
4+
5+
// Here are String representations that ease reading in failure statements
6+
7+
extension ContainsNode: CustomStringConvertible {
8+
public var description: String {
9+
return "ContainsNode(\"\(self.string)\")"
10+
}
11+
}
12+
13+
extension NotNode: CustomStringConvertible {
14+
public var description: String {
15+
return "NotNode(\(self.expression))"
16+
}
17+
}
18+
19+
extension AndNode: CustomStringConvertible {
20+
public var description: String {
21+
return "AndNode(lhs: \(self.lhs), rhs: \(self.rhs))"
22+
}
23+
}
24+
25+
extension OrNode: CustomStringConvertible {
26+
public var description: String {
27+
return "OrNode(lhs: \(self.lhs), rhs: \(self.rhs))"
28+
}
29+
}

0 commit comments

Comments
 (0)