ChartDataTests.swift 2.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869
  1. //
  2. // ChartDataTests.swift
  3. // ChartsTests
  4. //
  5. // Created by Peter Kaminski on 1/23/20.
  6. //
  7. import XCTest
  8. @testable import Charts
  9. class ChartDataTests: XCTestCase {
  10. var data: ScatterChartData!
  11. private enum SetLabels {
  12. static let one = "label1"
  13. static let two = "label2"
  14. static let three = "label3"
  15. static let badLabel = "Bad label"
  16. }
  17. override func setUp() {
  18. super.setUp()
  19. let setCount = 5
  20. let range: UInt32 = 32
  21. let values1 = (0..<setCount).map { (i) -> ChartDataEntry in
  22. let val = Double(arc4random_uniform(range) + 3)
  23. return ChartDataEntry(x: Double(i), y: val)
  24. }
  25. let values2 = (0..<setCount).map { (i) -> ChartDataEntry in
  26. let val = Double(arc4random_uniform(range) + 3)
  27. return ChartDataEntry(x: Double(i), y: val)
  28. }
  29. let values3 = (0..<setCount).map { (i) -> ChartDataEntry in
  30. let val = Double(arc4random_uniform(range) + 3)
  31. return ChartDataEntry(x: Double(i), y: val)
  32. }
  33. let set1 = ScatterChartDataSet(entries: values1, label: SetLabels.one)
  34. let set2 = ScatterChartDataSet(entries: values2, label: SetLabels.two)
  35. let set3 = ScatterChartDataSet(entries: values3, label: SetLabels.three)
  36. data = ScatterChartData(dataSets: [set1, set2, set3])
  37. }
  38. func testGetDataSetByLabelCaseSensitive() {
  39. XCTAssertTrue(data.getDataSetByLabel(SetLabels.one, ignorecase: false)?.label == SetLabels.one)
  40. XCTAssertTrue(data.getDataSetByLabel(SetLabels.two, ignorecase: false)?.label == SetLabels.two)
  41. XCTAssertTrue(data.getDataSetByLabel(SetLabels.three, ignorecase: false)?.label == SetLabels.three)
  42. XCTAssertTrue(data.getDataSetByLabel(SetLabels.one.uppercased(), ignorecase: false) == nil)
  43. }
  44. func testGetDataSetByLabelIgnoreCase() {
  45. XCTAssertTrue(data.getDataSetByLabel(SetLabels.one, ignorecase: true)?.label == SetLabels.one)
  46. XCTAssertTrue(data.getDataSetByLabel(SetLabels.two, ignorecase: true)?.label == SetLabels.two)
  47. XCTAssertTrue(data.getDataSetByLabel(SetLabels.three, ignorecase: true)?.label == SetLabels.three)
  48. XCTAssertTrue(data.getDataSetByLabel(SetLabels.one.uppercased(), ignorecase: true)?.label == SetLabels.one)
  49. XCTAssertTrue(data.getDataSetByLabel(SetLabels.two.uppercased(), ignorecase: true)?.label == SetLabels.two)
  50. XCTAssertTrue(data.getDataSetByLabel(SetLabels.three.uppercased(), ignorecase: true)?.label == SetLabels.three)
  51. }
  52. func testGetDataSetByLabelNilWithBadLabel() {
  53. XCTAssertTrue(data.getDataSetByLabel(SetLabels.badLabel, ignorecase: true) == nil)
  54. XCTAssertTrue(data.getDataSetByLabel(SetLabels.badLabel, ignorecase: false) == nil)
  55. }
  56. }