1 /*
2  * Copyright 2022 Bjarki Arge Andreasen
3  *
4  * SPDX-License-Identifier: Apache-2.0
5  */
6 
7 #include <zephyr/ztest.h>
8 #include <zephyr/drivers/rtc.h>
9 
10 struct test_sample {
11 	uint32_t frequency;
12 	int32_t calibration;
13 };
14 
15 static const struct test_sample test_samples[] = {
16 	{
17 		.frequency = 1000000000,
18 		.calibration = 0,
19 	},
20 	{
21 		.frequency = 1000000001,
22 		.calibration = -1,
23 	},
24 	{
25 		.frequency = 999999999,
26 		.calibration = 1,
27 	},
28 	{
29 		.frequency = 2000000000,
30 		.calibration = -500000000,
31 	},
32 	{
33 		.frequency = 500000000,
34 		.calibration = 1000000000,
35 	},
36 };
37 
ZTEST(rtc_api_helpers,test_validate_calibration_from_frequency)38 ZTEST(rtc_api_helpers, test_validate_calibration_from_frequency)
39 {
40 	uint32_t frequency;
41 	int32_t calibration;
42 	int32_t result;
43 
44 	ARRAY_FOR_EACH(test_samples, i) {
45 		frequency = test_samples[i].frequency;
46 		calibration = test_samples[i].calibration;
47 		result = rtc_calibration_from_frequency(frequency);
48 		zassert_equal(result, calibration);
49 	}
50 }
51