Files
HGCircularSlider/Example/Tests/CircularSliderHelperTests.swift

73 lines
2.1 KiB
Swift

//
// CircularSliderHelperTests.swift
// HGCircularSlider_Tests
//
// Created by Hamza GHAZOUANI on 24/07/2019.
// Copyright © 2019 CocoaPods. All rights reserved.
//
import XCTest
@testable import HGCircularSlider
extension CGFloat {
var toDegrees: CGFloat {
return self * 180.0 / CGFloat(Double.pi)
}
}
class CircularSliderHelperTests: XCTestCase {
let cirlceInterval = Interval(min: 0 , max: CGFloat(2 * Double.pi))
let valuesInterval = Interval(min: 0, max: 1.2)
func testInitialValueScale() {
// Given
let value = valuesInterval.min
// Thene
let angle = CircularSliderHelper.scaleValue(value, fromInterval: valuesInterval, toInterval: cirlceInterval).toDegrees
XCTAssertEqual(angle, 0)
}
func testFinalValueScale() {
// Given
let value: CGFloat = valuesInterval.max
// Thene
let angle = CircularSliderHelper.scaleValue(value, fromInterval: valuesInterval, toInterval: cirlceInterval).toDegrees
XCTAssertEqual(angle, 360)
}
func testMedianValueScale() {
// Given
let value: CGFloat = valuesInterval.max / 2
// Thene
let angle = CircularSliderHelper.scaleValue(value, fromInterval: valuesInterval, toInterval: cirlceInterval).toDegrees
XCTAssertEqual(angle, 180)
}
func testValueFromRangeToAnotherRangeMinValueEqualToZero() {
let oldRange = Interval(min: 0, max: 100)
let newRange = Interval(min: 10, max: 20)
let value: CGFloat = 10
let newValue = CircularSliderHelper.scaleValue(value, fromInterval: oldRange, toInterval: newRange)
XCTAssertEqual(newValue, 11)
}
func testValueFromRangeToAnotherRangeMinValueGratherThanZero() {
let oldRange = Interval(min: 5, max: 30)
let newRange = Interval(min: 0, max: 100)
let value: CGFloat = 10
let newValue = CircularSliderHelper.scaleValue(value, fromInterval: oldRange, toInterval: newRange)
XCTAssertEqual(newValue, 20)
}
}