From a2d75dca0ee5299cfbd3e38209601479497f6cd8 Mon Sep 17 00:00:00 2001 From: Adrian Date: Mon, 25 May 2020 03:36:47 -0400 Subject: [PATCH] Write unit tests for CGPoint+Extension.swift (#100) - write unit tests for CGPoint+Extension.swift - clean up formatting on CGPoint+Extension.swift --- .../Base/Extensions/CGPoint+Extension.swift | 10 +++--- .../CGPointExtensionTests.swift | 32 +++++++++++++++++++ 2 files changed, 37 insertions(+), 5 deletions(-) create mode 100644 Tests/SwiftUIChartsTests/CGPointExtensionTests.swift diff --git a/Sources/SwiftUICharts/Base/Extensions/CGPoint+Extension.swift b/Sources/SwiftUICharts/Base/Extensions/CGPoint+Extension.swift index c063f2f..f824141 100644 --- a/Sources/SwiftUICharts/Base/Extensions/CGPoint+Extension.swift +++ b/Sources/SwiftUICharts/Base/Extensions/CGPoint+Extension.swift @@ -19,14 +19,14 @@ extension CGPoint { if let minPoint = data.min(), let maxPoint = data.max(), minPoint != maxPoint { min = minPoint max = maxPoint - }else { + } else { return .zero } if let min = min, let max = max, min != max { - if (min <= 0){ - stepHeight = (frame.size.height-padding) / CGFloat(max - min) - }else{ - stepHeight = (frame.size.height-padding) / CGFloat(max + min) + if (min <= 0) { + stepHeight = (frame.size.height - padding) / CGFloat(max - min) + } else { + stepHeight = (frame.size.height - padding) / CGFloat(max + min) } } diff --git a/Tests/SwiftUIChartsTests/CGPointExtensionTests.swift b/Tests/SwiftUIChartsTests/CGPointExtensionTests.swift new file mode 100644 index 0000000..692e9c7 --- /dev/null +++ b/Tests/SwiftUIChartsTests/CGPointExtensionTests.swift @@ -0,0 +1,32 @@ +// +// CGPointExtensionTests.swift +// SwiftUIChartsTests +// +// Created by Adrian Bolinger on 5/24/20. +// + +@testable import SwiftUICharts +import XCTest + +class CGPointExtensionTests: XCTestCase { + static let twentyElementArray: [Double] = Array(repeating: Double.random(in: 1...100), count: 20) + + func testGetStepWithOneElementArray() { + let frame = CGRect(x: 0, y: 0, width: 300, height: 300) + let oneElementArray: [Double] = [0.0] + + XCTAssertEqual(CGPoint.getStep(frame: frame, data: oneElementArray), .zero) + } + + func testGetStepWithMultiElementArrayWithNegativeValues() { + let frame = CGRect(x: 0, y: 0, width: 300, height: 300) + let multiElementArray: [Double] = [-5.0, 0.0, 5.0] + XCTAssertEqual(CGPoint.getStep(frame: frame, data: multiElementArray), CGPoint(x: 150.0, y: 27.0)) + } + + func testGetStepWithMultiElementArrayWithPositiveValues() { + let frame = CGRect(x: 0, y: 0, width: 300, height: 300) + let multiElementArray: [Double] = [5.0, 10.0, 15.0] + XCTAssertEqual(CGPoint.getStep(frame: frame, data: multiElementArray), CGPoint(x: 150.0, y: 13.5)) + } +}