1
1
mirror of https://github.com/qvacua/vimr.git synced 2024-12-23 22:01:49 +03:00
vimr/Commons/Tests/CommonsTests/SwiftCommonsTest.swift
2020-08-19 00:04:46 +02:00

231 lines
4.5 KiB
Swift

/**
* Tae Won Ha - http://taewon.de - @hataewon
* See LICENSE
*/
import Cocoa
import XCTest
import Nimble
@testable import Commons
struct Dummy {
var value: Int
var marker: Bool
}
class ArraySliceTest: XCTestCase {
func testArraySliceGroup1() {
let grouped = [
Dummy(value: 0, marker: true),
Dummy(value: 0, marker: true),
Dummy(value: 1, marker: false),
Dummy(value: 2, marker: false),
Dummy(value: 3, marker: false),
][1...3].groupedRanges { i, element in element.marker }
expect(grouped).to(equal(
[
1...1,
2...3,
]
))
}
func testArraySliceGroup2() {
let grouped = [
Dummy(value: 0, marker: false),
Dummy(value: 1, marker: false),
Dummy(value: 2, marker: false),
Dummy(value: 3, marker: true),
Dummy(value: 3, marker: true),
][1...3].groupedRanges { i, element in element.marker }
expect(grouped).to(equal(
[
1...2,
3...3,
]
))
}
func testArraySliceGroup3() {
let grouped = [
Dummy(value: 0, marker: true),
Dummy(value: 1, marker: true),
Dummy(value: 2, marker: true),
Dummy(value: 3, marker: true),
][1...2].groupedRanges { i, element in element.marker }
expect(grouped).to(equal(
[
1...2
]
))
}
func testArraySliceGroup4() {
let grouped = [
Dummy(value: 0, marker: true),
Dummy(value: 0, marker: true),
Dummy(value: 1, marker: true),
Dummy(value: 1, marker: false),
Dummy(value: 1, marker: true),
Dummy(value: 1, marker: true),
Dummy(value: 1, marker: true),
][1...5].groupedRanges { i, element in element.marker }
expect(grouped).to(equal(
[
1...2,
3...3,
4...5,
]
))
}
func testArraySliceGroup5() {
let grouped = [
Dummy(value: 0, marker: true),
Dummy(value: 0, marker: true),
Dummy(value: 1, marker: true),
Dummy(value: 1, marker: true),
Dummy(value: 1, marker: false),
Dummy(value: 1, marker: true),
Dummy(value: 1, marker: true),
][1...5].groupedRanges { i, element in element.marker }
expect(grouped).to(equal(
[
1...3,
4...4,
5...5,
]
))
}
func testArraySliceGroup6() {
let grouped = [
Dummy(value: 0, marker: true),
Dummy(value: 0, marker: true),
Dummy(value: 0, marker: true),
][1...1].groupedRanges { i, element in element.marker }
expect(grouped).to(equal(
[
1...1
]
))
}
}
class SwiftCommonsTest: XCTestCase {
func testArrayGroup1() {
let grouped = [
Dummy(value: 0, marker: true),
Dummy(value: 1, marker: false),
Dummy(value: 2, marker: false),
Dummy(value: 3, marker: false),
].groupedRanges { i, element in element.marker }
expect(grouped).to(equal(
[
0...0,
1...3,
]
))
}
func testArrayGroup2() {
let grouped = [
Dummy(value: 0, marker: false),
Dummy(value: 1, marker: false),
Dummy(value: 2, marker: false),
Dummy(value: 3, marker: true),
].groupedRanges { i, element in element.marker }
expect(grouped).to(equal(
[
0...2,
3...3,
]
))
}
func testArrayGroup3() {
let grouped = [
Dummy(value: 0, marker: true),
Dummy(value: 1, marker: true),
].groupedRanges { i, element in element.marker }
expect(grouped).to(equal(
[
0...1
]
))
}
func testArrayGroup4() {
let grouped = [
Dummy(value: 0, marker: true),
Dummy(value: 1, marker: true),
Dummy(value: 1, marker: false),
Dummy(value: 1, marker: true),
Dummy(value: 1, marker: true),
].groupedRanges { i, element in element.marker }
expect(grouped).to(equal(
[
0...1,
2...2,
3...4,
]
))
}
func testArrayGroup5() {
let grouped = [
Dummy(value: 0, marker: true),
Dummy(value: 1, marker: true),
Dummy(value: 1, marker: true),
Dummy(value: 1, marker: false),
Dummy(value: 1, marker: true),
].groupedRanges { i, element in element.marker }
expect(grouped).to(equal(
[
0...2,
3...3,
4...4,
]
))
}
func testArrayGroup6() {
let grouped = [
Dummy(value: 0, marker: true),
].groupedRanges { i, element in element.marker }
expect(grouped).to(equal(
[
0...0
]
))
}
}