73 lines
2.1 KiB
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)
|
|
}
|
|
}
|