|
12 | 12 | # See the License for the specific language governing permissions and |
13 | 13 | # limitations under the License. |
14 | 14 |
|
| 15 | +from datetime import datetime |
15 | 16 | import unittest |
16 | | -import mock |
| 17 | + |
17 | 18 | from opencensus.stats import aggregation as aggregation_module |
18 | 19 |
|
19 | 20 |
|
20 | 21 | class TestBaseAggregation(unittest.TestCase): |
21 | | - |
22 | 22 | def test_constructor_defaults(self): |
23 | 23 | base_aggregation = aggregation_module.BaseAggregation() |
24 | 24 |
|
25 | | - self.assertEqual(aggregation_module.Type.NONE, base_aggregation.aggregation_type) |
| 25 | + self.assertEqual(aggregation_module.Type.NONE, |
| 26 | + base_aggregation.aggregation_type) |
26 | 27 | self.assertEqual([], base_aggregation.buckets) |
27 | 28 |
|
28 | 29 | def test_constructor_explicit(self): |
29 | 30 |
|
30 | 31 | buckets = ["test"] |
31 | 32 | base_aggregation = aggregation_module.BaseAggregation(buckets=buckets) |
32 | 33 |
|
33 | | - self.assertEqual(aggregation_module.Type.NONE, base_aggregation.aggregation_type) |
| 34 | + self.assertEqual(aggregation_module.Type.NONE, |
| 35 | + base_aggregation.aggregation_type) |
34 | 36 | self.assertEqual(["test"], base_aggregation.buckets) |
35 | 37 |
|
36 | 38 |
|
37 | 39 | class TestSumAggregation(unittest.TestCase): |
38 | | - |
39 | 40 | def test_constructor_defaults(self): |
40 | 41 | sum_aggregation = aggregation_module.SumAggregation() |
41 | 42 |
|
42 | 43 | self.assertEqual(0, sum_aggregation.sum.sum_data) |
43 | | - self.assertEqual(aggregation_module.Type.SUM, sum_aggregation.aggregation_type) |
| 44 | + self.assertEqual(aggregation_module.Type.SUM, |
| 45 | + sum_aggregation.aggregation_type) |
44 | 46 |
|
45 | 47 | def test_constructor_explicit(self): |
46 | 48 | sum = 1 |
47 | 49 |
|
48 | 50 | sum_aggregation = aggregation_module.SumAggregation(sum=sum) |
49 | 51 |
|
50 | 52 | self.assertEqual(1, sum_aggregation.sum.sum_data) |
51 | | - self.assertEqual(aggregation_module.Type.SUM, sum_aggregation.aggregation_type) |
| 53 | + self.assertEqual(aggregation_module.Type.SUM, |
| 54 | + sum_aggregation.aggregation_type) |
52 | 55 |
|
53 | 56 |
|
54 | 57 | class TestCountAggregation(unittest.TestCase): |
55 | | - |
56 | 58 | def test_constructor_defaults(self): |
57 | 59 | count_aggregation = aggregation_module.CountAggregation() |
58 | 60 |
|
59 | 61 | self.assertEqual(0, count_aggregation.count.count_data) |
60 | | - self.assertEqual(aggregation_module.Type.COUNT, count_aggregation.aggregation_type) |
| 62 | + self.assertEqual(aggregation_module.Type.COUNT, |
| 63 | + count_aggregation.aggregation_type) |
61 | 64 |
|
62 | 65 | def test_constructor_explicit(self): |
63 | 66 | count = 4 |
64 | 67 |
|
65 | 68 | count_aggregation = aggregation_module.CountAggregation(count=count) |
66 | 69 |
|
67 | 70 | self.assertEqual(4, count_aggregation.count.count_data) |
68 | | - self.assertEqual(aggregation_module.Type.COUNT, count_aggregation.aggregation_type) |
| 71 | + self.assertEqual(aggregation_module.Type.COUNT, |
| 72 | + count_aggregation.aggregation_type) |
69 | 73 |
|
70 | 74 |
|
71 | 75 | class TestLastValueAggregation(unittest.TestCase): |
72 | | - |
73 | 76 | def test_constructor_defaults(self): |
74 | 77 | last_value_aggregation = aggregation_module.LastValueAggregation() |
75 | 78 |
|
76 | 79 | self.assertEqual(0, last_value_aggregation.value) |
77 | | - self.assertEqual(aggregation_module.Type.LASTVALUE, last_value_aggregation.aggregation_type) |
| 80 | + self.assertEqual(aggregation_module.Type.LASTVALUE, |
| 81 | + last_value_aggregation.aggregation_type) |
78 | 82 |
|
79 | 83 | def test_constructor_explicit(self): |
80 | 84 | val = 16 |
81 | | - last_value_aggregation = aggregation_module.LastValueAggregation(value=val) |
| 85 | + last_value_aggregation = aggregation_module.LastValueAggregation( |
| 86 | + value=val) |
82 | 87 |
|
83 | 88 | self.assertEqual(16, last_value_aggregation.value) |
84 | | - self.assertEqual(aggregation_module.Type.LASTVALUE, last_value_aggregation.aggregation_type) |
| 89 | + self.assertEqual(aggregation_module.Type.LASTVALUE, |
| 90 | + last_value_aggregation.aggregation_type) |
85 | 91 |
|
86 | 92 |
|
87 | 93 | class TestDistributionAggregation(unittest.TestCase): |
88 | | - |
89 | 94 | def test_constructor_defaults(self): |
90 | 95 | distribution_aggregation = aggregation_module.DistributionAggregation() |
91 | 96 |
|
92 | 97 | self.assertEqual([], distribution_aggregation.boundaries.boundaries) |
93 | 98 | self.assertEqual({}, distribution_aggregation.distribution) |
94 | | - self.assertEqual(aggregation_module.Type.DISTRIBUTION, distribution_aggregation.aggregation_type) |
| 99 | + self.assertEqual(aggregation_module.Type.DISTRIBUTION, |
| 100 | + distribution_aggregation.aggregation_type) |
95 | 101 |
|
96 | 102 | def test_constructor_explicit(self): |
97 | 103 | boundaries = ["test"] |
98 | 104 | distribution = {1: "test"} |
99 | | - distribution_aggregation = aggregation_module.DistributionAggregation(boundaries=boundaries, distribution=distribution) |
| 105 | + distribution_aggregation = aggregation_module.DistributionAggregation( |
| 106 | + boundaries=boundaries, distribution=distribution) |
100 | 107 |
|
101 | | - self.assertEqual(["test"], distribution_aggregation.boundaries.boundaries) |
| 108 | + self.assertEqual(["test"], |
| 109 | + distribution_aggregation.boundaries.boundaries) |
102 | 110 | self.assertEqual({1: "test"}, distribution_aggregation.distribution) |
103 | | - self.assertEqual(aggregation_module.Type.DISTRIBUTION, distribution_aggregation.aggregation_type) |
| 111 | + self.assertEqual(aggregation_module.Type.DISTRIBUTION, |
| 112 | + distribution_aggregation.aggregation_type) |
| 113 | + |
| 114 | + def test_min_max(self): |
| 115 | + da = aggregation_module.DistributionAggregation([]) |
| 116 | + |
| 117 | + self.assertEqual(da.aggregation_data.min, float('inf')) |
| 118 | + self.assertEqual(da.aggregation_data.max, float('-inf')) |
| 119 | + |
| 120 | + for dp in range(-10, 11): |
| 121 | + da.aggregation_data.add_sample(dp, datetime(1999, 12, 31), {}) |
| 122 | + |
| 123 | + self.assertEqual(da.aggregation_data.min, -10) |
| 124 | + self.assertEqual(da.aggregation_data.max, 10) |
0 commit comments