Skip to content

Commit fd8c7bd

Browse files
committed
Kotlin tests
1 parent ad15379 commit fd8c7bd

14 files changed

+905
-988
lines changed
Lines changed: 20 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,20 @@
1+
package com.github.mikephil.charting.test
2+
3+
import com.github.mikephil.charting.data.filter.Approximator
4+
import org.junit.Assert
5+
import org.junit.Test
6+
7+
class ApproximationTest {
8+
@Test
9+
fun testApproximation() {
10+
val points = floatArrayOf(10f, 20f, 20f, 30f, 25f, 25f, 30f, 28f, 31f, 31f, 33f, 33f, 40f, 40f, 44f, 40f, 48f, 23f, 50f, 20f, 55f, 20f, 60f, 25f)
11+
12+
Assert.assertEquals(24, points.size)
13+
14+
val a = Approximator()
15+
16+
val reduced = a.reduceWithDouglasPeucker(points, 2f)
17+
18+
Assert.assertEquals(18, reduced.size)
19+
}
20+
}

MPChartLib/src/test/java/com/github/mikephil/charting/test/ApproximatorTest.java

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

MPChartLib/src/test/java/com/github/mikephil/charting/test/AxisRendererTest.java

Lines changed: 0 additions & 105 deletions
This file was deleted.
Lines changed: 97 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,97 @@
1+
package com.github.mikephil.charting.test
2+
3+
import com.github.mikephil.charting.components.YAxis
4+
import com.github.mikephil.charting.renderer.AxisRenderer
5+
import com.github.mikephil.charting.renderer.YAxisRenderer
6+
import org.junit.Assert
7+
import org.junit.Test
8+
9+
class AxisRendererTest {
10+
@Test
11+
fun testComputeAxisValues() {
12+
var yAxis = YAxis()
13+
yAxis.labelCount = 6
14+
var renderer: AxisRenderer = YAxisRenderer(null, yAxis, null)
15+
16+
renderer.computeAxis(0f, 100f, false)
17+
var entries = yAxis.mEntries
18+
19+
Assert.assertEquals(6, entries.size)
20+
Assert.assertEquals(20.0, (entries[1] - entries[0]).toDouble(), 0.01) // interval 20
21+
Assert.assertEquals(0.0, entries[0].toDouble(), 0.01)
22+
Assert.assertEquals(100.0, entries[entries.size - 1].toDouble(), 0.01)
23+
24+
yAxis = YAxis()
25+
yAxis.labelCount = 6
26+
yAxis.granularity = 50f
27+
renderer = YAxisRenderer(null, yAxis, null)
28+
29+
renderer.computeAxis(0f, 100f, false)
30+
entries = yAxis.mEntries
31+
32+
Assert.assertEquals(3, entries.size)
33+
Assert.assertEquals(50.0, (entries[1] - entries[0]).toDouble(), 0.01) // interval 50
34+
Assert.assertEquals(0.0, entries[0].toDouble(), 0.01)
35+
Assert.assertEquals(100.0, entries[entries.size - 1].toDouble(), 0.01)
36+
37+
yAxis = YAxis()
38+
yAxis.setLabelCount(5, true)
39+
renderer = YAxisRenderer(null, yAxis, null)
40+
41+
renderer.computeAxis(0f, 100f, false)
42+
entries = yAxis.mEntries
43+
44+
Assert.assertEquals(5, entries.size)
45+
Assert.assertEquals(25.0, (entries[1] - entries[0]).toDouble(), 0.01) // interval 25
46+
Assert.assertEquals(0.0, entries[0].toDouble(), 0.01)
47+
Assert.assertEquals(100.0, entries[entries.size - 1].toDouble(), 0.01)
48+
49+
yAxis = YAxis()
50+
yAxis.setLabelCount(5, true)
51+
renderer = YAxisRenderer(null, yAxis, null)
52+
53+
renderer.computeAxis(0f, 0.01f, false)
54+
entries = yAxis.mEntries
55+
56+
Assert.assertEquals(5, entries.size)
57+
Assert.assertEquals(0.0025, (entries[1] - entries[0]).toDouble(), 0.0001)
58+
Assert.assertEquals(0.0, entries[0].toDouble(), 0.0001)
59+
Assert.assertEquals(0.01, entries[entries.size - 1].toDouble(), 0.0001)
60+
61+
yAxis = YAxis()
62+
yAxis.setLabelCount(5, false)
63+
renderer = YAxisRenderer(null, yAxis, null)
64+
65+
renderer.computeAxis(0f, 0.01f, false)
66+
entries = yAxis.mEntries
67+
68+
Assert.assertEquals(5, entries.size)
69+
Assert.assertEquals(0.0020, (entries[1] - entries[0]).toDouble(), 0.0001)
70+
Assert.assertEquals(0.0, entries[0].toDouble(), 0.0001)
71+
Assert.assertEquals(0.0080, entries[entries.size - 1].toDouble(), 0.0001)
72+
73+
yAxis = YAxis()
74+
yAxis.labelCount = 6
75+
renderer = YAxisRenderer(null, yAxis, null)
76+
77+
renderer.computeAxis(-50f, 50f, false)
78+
entries = yAxis.mEntries
79+
80+
Assert.assertEquals(5, entries.size)
81+
Assert.assertEquals(-40.0, entries[0].toDouble(), 0.0001)
82+
Assert.assertEquals(0.0, entries[2].toDouble(), 0.0001)
83+
Assert.assertEquals(40.0, entries[entries.size - 1].toDouble(), 0.0001)
84+
85+
yAxis = YAxis()
86+
yAxis.labelCount = 6
87+
renderer = YAxisRenderer(null, yAxis, null)
88+
89+
renderer.computeAxis(-50f, 100f, false)
90+
entries = yAxis.mEntries
91+
92+
Assert.assertEquals(5, entries.size)
93+
Assert.assertEquals(-30.0, entries[0].toDouble(), 0.0001)
94+
Assert.assertEquals(30.0, entries[2].toDouble(), 0.0001)
95+
Assert.assertEquals(90.0, entries[entries.size - 1].toDouble(), 0.0001)
96+
}
97+
}

MPChartLib/src/test/java/com/github/mikephil/charting/test/BarDataTest.java

Lines changed: 0 additions & 72 deletions
This file was deleted.
Lines changed: 62 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,62 @@
1+
package com.github.mikephil.charting.test
2+
3+
import com.github.mikephil.charting.data.BarData
4+
import com.github.mikephil.charting.data.BarDataSet
5+
import com.github.mikephil.charting.data.BarEntry
6+
import org.junit.Assert
7+
import org.junit.Test
8+
9+
class BarDataTest {
10+
@Test
11+
fun testGroupBars() {
12+
val groupSpace = 5f
13+
val barSpace = 1f
14+
15+
val values1: MutableList<BarEntry> = ArrayList()
16+
val values2: MutableList<BarEntry> = ArrayList()
17+
18+
for (i in 0..4) {
19+
values1.add(BarEntry(i.toFloat(), 50f))
20+
values2.add(BarEntry(i.toFloat(), 60f))
21+
}
22+
23+
val barDataSet1 = BarDataSet(values1, "Set1")
24+
val barDataSet2 = BarDataSet(values2, "Set2")
25+
26+
val data = BarData(barDataSet1, barDataSet2)
27+
data.barWidth = 10f
28+
29+
var groupWidth = data.getGroupWidth(groupSpace, barSpace)
30+
Assert.assertEquals(27f, groupWidth, 0.01f)
31+
32+
Assert.assertEquals(0f, values1[0].x, 0.01f)
33+
Assert.assertEquals(1f, values1[1].x, 0.01f)
34+
35+
data.groupBars(1000f, groupSpace, barSpace)
36+
37+
// 1000 + 2.5 + 0.5 + 5
38+
Assert.assertEquals(1008f, values1[0].x, 0.01f)
39+
Assert.assertEquals(1019f, values2[0].x, 0.01f)
40+
Assert.assertEquals(1035f, values1[1].x, 0.01f)
41+
Assert.assertEquals(1046f, values2[1].x, 0.01f)
42+
43+
data.groupBars(-1000f, groupSpace, barSpace)
44+
45+
Assert.assertEquals(-992f, values1[0].x, 0.01f)
46+
Assert.assertEquals(-981f, values2[0].x, 0.01f)
47+
Assert.assertEquals(-965f, values1[1].x, 0.01f)
48+
Assert.assertEquals(-954f, values2[1].x, 0.01f)
49+
50+
data.barWidth = 20f
51+
groupWidth = data.getGroupWidth(groupSpace, barSpace)
52+
Assert.assertEquals(47f, groupWidth, 0.01f)
53+
54+
data.barWidth = 10f
55+
data.groupBars(-20f, groupSpace, barSpace)
56+
57+
Assert.assertEquals(-12f, values1[0].x, 0.01f)
58+
Assert.assertEquals(-1f, values2[0].x, 0.01f)
59+
Assert.assertEquals(15f, values1[1].x, 0.01f)
60+
Assert.assertEquals(26f, values2[1].x, 0.01f)
61+
}
62+
}

0 commit comments

Comments
 (0)