Skip to content

Commit 1c20e77

Browse files
author
Andrew(유금상)
committed
Merge branch 'release/v0.0.9'
2 parents e90840e + 2942aa2 commit 1c20e77

File tree

15 files changed

+149
-230
lines changed

15 files changed

+149
-230
lines changed

.travis.yml

Lines changed: 38 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,38 @@
1+
# os: osx
2+
osx_image: xcode9.4
3+
language: swift
4+
sudo: required
5+
podfile: Example/RxValidatorExample/Podfile
6+
cache: cocoapods
7+
8+
notifications:
9+
slack: '$SLACK_KEY'
10+
11+
branches:
12+
only:
13+
- develop
14+
except:
15+
- screenshot
16+
env:
17+
global:
18+
- PROJECT="Example/RxValidatorExample/RxValidatorExample.xcworkspace"
19+
- SCHEME="RxValidatorExample"
20+
matrix:
21+
- TEST=1 DESTINATION="platform=iOS Simulator,name=iPhone X,OS=11.4"
22+
#- TEST=1 DESTINATION="arch=x86_64"
23+
#- TEST=1 DESTINATION="OS=11.4,name=Apple TV"
24+
#- TEST=0 DESTINATION="OS=4.3,name=Apple Watch - 38mm"
25+
26+
before_install:
27+
- set -o pipefail
28+
29+
script:
30+
- xcodebuild clean build test
31+
-workspace "$PROJECT"
32+
-scheme "$SCHEME"
33+
-destination "$DESTINATION" | xcpretty -c
34+
35+
- pod lib lint --verbose --allow-warnings --fail-fast
36+
37+
after_success:
38+
- bash <(curl -s https://codecov.io/bash) -J 'RxValidatorExample'

Example/RxValidatorExample/Podfile

Lines changed: 0 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -19,9 +19,4 @@ target 'RxValidatorExample' do
1919

2020
end
2121

22-
target 'RxValidatorExampleUITests' do
23-
inherit! :search_paths
24-
# Pods for testing
25-
end
26-
2722
end

Example/RxValidatorExample/RxValidatorExample.xcodeproj/project.pbxproj

Lines changed: 4 additions & 146 deletions
Large diffs are not rendered by default.
Lines changed: 17 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,17 @@
1+
//
2+
// AlwaysFailingTests.swift
3+
// RxValidatorExampleTests
4+
//
5+
// Created by 유금상 on 2018. 6. 28..
6+
// Copyright © 2018년 유금상. All rights reserved.
7+
//
8+
9+
import XCTest
10+
11+
class AlwaysFailingTests: XCTestCase {
12+
13+
func testExample() {
14+
// XCTFail()
15+
}
16+
}
17+

Example/RxValidatorExample/RxValidatorExampleTests/DateValidateTests.swift

Lines changed: 48 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -20,7 +20,7 @@ class DateValidateTests: XCTestCase {
2020
func testDateValidation() {
2121

2222
let targetDate = "2018-05-29T12:00+09:00".date(format: .iso8601Auto)!.absoluteDate
23-
let afterTargetDate = "2018-05-29T12:00+09:00".date(format: .iso8601Auto)!.absoluteDate
23+
let afterTargetDate = "2018-05-29T12:01+09:00".date(format: .iso8601Auto)!.absoluteDate
2424
let beforeTargetDate = "2018-05-29T11:59+09:00".date(format: .iso8601Auto)!.absoluteDate
2525
let sameTargetDate = "2018-05-29T12:00+09:00".date(format: .iso8601Auto)!.absoluteDate
2626

@@ -49,6 +49,53 @@ class DateValidateTests: XCTestCase {
4949
expect(resultDate).toEventually(equal(targetDate))
5050
}
5151

52+
func testDateValidationShouldBeforeThenWithSameTargetDate() {
53+
// given
54+
let targetDate = "2018-05-29T12:00+09:00".date(format: .iso8601Auto)!.absoluteDate
55+
let sameTargetDate = "2018-05-29T12:00+09:00".date(format: .iso8601Auto)!.absoluteDate
56+
var resultDate: Date?
57+
var resultError: RxValidatorResult = .valid
58+
let underTest = DateValidationTarget(targetDate)
59+
60+
// when
61+
underTest
62+
.validate(.shouldBeforeThen(date: sameTargetDate))
63+
.asObservable()
64+
.subscribe(onNext: { (date) in
65+
resultDate = date
66+
}, onError: { (error) in
67+
resultError = RxValidatorResult.determine(error: error)
68+
}).disposed(by: disposeBag)
69+
70+
// then
71+
// it should not before date
72+
expect(resultError).toEventually(equal(RxValidatorResult.notBeforeDate))
73+
expect(resultDate).toEventually(beNil())
74+
}
75+
76+
func testDateValidationShouldAfterThenWithSameTargetDate() {
77+
// given
78+
let targetDate = "2018-05-29T12:00+09:00".date(format: .iso8601Auto)!.absoluteDate
79+
let sameTargetDate = "2018-05-29T12:00+09:00".date(format: .iso8601Auto)!.absoluteDate
80+
var resultDate: Date?
81+
var resultError: RxValidatorResult = .valid
82+
let underTest = DateValidationTarget(targetDate)
83+
84+
// when
85+
underTest
86+
.validate(.shouldAfterThen(date: sameTargetDate))
87+
.asObservable()
88+
.subscribe(onNext: { (date) in
89+
resultDate = date
90+
}, onError: { (error) in
91+
resultError = RxValidatorResult.determine(error: error)
92+
}).disposed(by: disposeBag)
93+
94+
// then
95+
// it should not after date
96+
expect(resultError).toEventually(equal(RxValidatorResult.notAfterDate))
97+
expect(resultDate).toEventually(beNil())
98+
}
5299

53100
func testDateValidationWithAllday() {
54101
let targetDate = "2018-05-29T12:00:00+09:00".date(format: .iso8601Auto)!.absoluteDate

Example/RxValidatorExample/RxValidatorExampleTests/IntValidateTests.swift

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -16,12 +16,12 @@ class IntValidateTests: XCTestCase {
1616
func testEvenNumber() {
1717

1818
let resultNotValid = Validate.to(1)
19-
.validate(NumberIsShouldBeEven())
19+
.validate(NumberShouldBeEven())
2020
.check()
2121
expect(resultNotValid).to(equal(RxValidatorResult.notEvenNumber))
2222

2323
let resultValid = Validate.to(2)
24-
.validate(NumberIsShouldBeEven())
24+
.validate(NumberShouldBeEven())
2525
.check()
2626
expect(resultValid).to(equal(RxValidatorResult.valid))
2727
}

Example/RxValidatorExample/RxValidatorExampleTests/ObservableExtensionTests.swift

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -42,7 +42,7 @@ class ObservableExtensionTests: XCTestCase {
4242

4343
observable
4444
.asObservable()
45-
.validate(StringIsShouldNotEmpty())
45+
.validate(StringShouldNotBeEmpty())
4646
.asObservable()
4747
.subscribe(onNext: { (text) in
4848
XCTFail()
@@ -65,7 +65,7 @@ class ObservableExtensionTests: XCTestCase {
6565

6666
observable
6767
.asObservable()
68-
.validate(NumberIsShouldBeEven())
68+
.validate(NumberShouldBeEven())
6969
.asObservable()
7070
.subscribe(onNext: { number in
7171
result = number

Example/RxValidatorExample/RxValidatorExampleTests/StringValidateTests.swift

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -113,4 +113,13 @@ class StringValidateTests: XCTestCase {
113113
}
114114

115115

116+
func testStringArray() {
117+
let targetValue = ["1", "2", "3"]
118+
119+
let result: RxValidatorResult = targetValue
120+
.compactMap { return Validate.to($0).validate(StringShouldNotBeEmpty()).check() }
121+
.reduce(RxValidatorResult.valid) { $0 != .valid ? $0 : $1 }
122+
123+
expect(result).toEventually(equal(.valid))
124+
}
116125
}

Example/RxValidatorExample/RxValidatorExampleUITests/Info.plist

Lines changed: 0 additions & 22 deletions
This file was deleted.

Example/RxValidatorExample/RxValidatorExampleUITests/RxValidatorExampleUITests.swift

Lines changed: 0 additions & 36 deletions
This file was deleted.

0 commit comments

Comments
 (0)