SwiftLint/Tests/SwiftLintFrameworkTests/NumberSeparatorRuleTests.swift

63 lines
2.0 KiB
Swift

import SwiftLintFramework
import XCTest
class NumberSeparatorRuleTests: XCTestCase {
func testNumberSeparatorWithDefaultConfiguration() {
verifyRule(NumberSeparatorRule.description)
}
func testNumberSeparatorWithMinimumLength() {
let nonTriggeringExamples = [
"let foo = 10_000",
"let foo = 1000",
"let foo = 1000.0001",
"let foo = 10_000.0001",
"let foo = 1000.000_01"
]
let triggeringExamples = [
"let foo = ↓1_000",
"let foo = ↓1.000_1",
"let foo = ↓1_000.000_1"
]
let corrections = [
"let foo = ↓1_000": "let foo = 1000",
"let foo = ↓1.000_1": "let foo = 1.0001",
"let foo = ↓1_000.000_1": "let foo = 1000.0001"
]
let description = NumberSeparatorRule.description
.with(triggeringExamples: triggeringExamples)
.with(nonTriggeringExamples: nonTriggeringExamples)
.with(corrections: corrections)
verifyRule(description, ruleConfiguration: ["minimum_length": 5])
}
func testNumberSeparatorWithMinimumFractionLength() {
let nonTriggeringExamples = [
"let foo = 1_000.000_000_1",
"let foo = 1.000_001",
"let foo = 100.0001",
"let foo = 1_000.000_01"
]
let triggeringExamples = [
"let foo = ↓1000",
"let foo = ↓1.000_1",
"let foo = ↓1_000.000_1"
]
let corrections = [
"let foo = ↓1000": "let foo = 1_000",
"let foo = ↓1.000_1": "let foo = 1.0001",
"let foo = ↓1_000.000_1": "let foo = 1_000.0001"
]
let description = NumberSeparatorRule.description
.with(triggeringExamples: triggeringExamples)
.with(nonTriggeringExamples: nonTriggeringExamples)
.with(corrections: corrections)
verifyRule(description, ruleConfiguration: ["minimum_fraction_length": 5])
}
}