ReadMedicalResourcesInternalResponseTest.java
1 /*
2 * Copyright (C) 2024 The Android Open Source Project
3 *
4 * Licensed under the Apache License, Version 2.0 (the "License");
5 * you may not use this file except in compliance with the License.
6 * You may obtain a copy of the License at
7 *
8 * http://www.apache.org/licenses/LICENSE-2.0
9 *
10 * Unless required by applicable law or agreed to in writing, software
11 * distributed under the License is distributed on an "AS IS" BASIS,
12 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 * See the License for the specific language governing permissions and
14 * limitations under the License.
15 */
16
17 package com.android.server.healthconnect.phr;
18
19 import static android.healthconnect.cts.phr.utils.PhrDataFactory.getMedicalResource;
20
21 import static com.google.common.truth.Truth.assertThat;
22
23 import android.health.connect.datatypes.MedicalResource;
24
25 import androidx.test.ext.junit.runners.AndroidJUnit4;
26
27 import org.junit.Test;
28 import org.junit.runner.RunWith;
29
30 import java.util.List;
31
32 @RunWith(AndroidJUnit4.class)
33 public class ReadMedicalResourcesInternalResponseTest {
34
35 @Test
testReadMedicalResourcesInternalResponse_nonNullPageToken_success()36 public void testReadMedicalResourcesInternalResponse_nonNullPageToken_success() {
37 String pageToken = "aw==";
38 List<MedicalResource> medicalResources = List.of(getMedicalResource());
39
40 ReadMedicalResourcesInternalResponse response =
41 new ReadMedicalResourcesInternalResponse(medicalResources, pageToken, 1);
42
43 assertThat(response.getMedicalResources()).isEqualTo(medicalResources);
44 assertThat(response.getPageToken()).isEqualTo(pageToken);
45 assertThat(response.getRemainingCount()).isEqualTo(1);
46 }
47
48 @Test
testReadMedicalResourcesInternalResponse_nullPageToken_success()49 public void testReadMedicalResourcesInternalResponse_nullPageToken_success() {
50 List<MedicalResource> medicalResources = List.of(getMedicalResource());
51
52 ReadMedicalResourcesInternalResponse response =
53 new ReadMedicalResourcesInternalResponse(medicalResources, null, 0);
54
55 assertThat(response.getMedicalResources()).isEqualTo(medicalResources);
56 assertThat(response.getPageToken()).isEqualTo(null);
57 assertThat(response.getRemainingCount()).isEqualTo(0);
58 }
59
60 @Test
testReadMedicalResourcesInternalResponse_equals_sameResponse_success()61 public void testReadMedicalResourcesInternalResponse_equals_sameResponse_success() {
62 String pageToken = "aw==";
63 List<MedicalResource> medicalResources = List.of(getMedicalResource());
64
65 ReadMedicalResourcesInternalResponse response =
66 new ReadMedicalResourcesInternalResponse(medicalResources, pageToken, 1);
67
68 assertThat(response.equals(response)).isTrue();
69 }
70
71 @Test
testReadMedicalResourcesInternalResponse_equals_differentPageToken_success()72 public void testReadMedicalResourcesInternalResponse_equals_differentPageToken_success() {
73 String pageToken1 = "aw==";
74 String pageToken2 = "ba==";
75 List<MedicalResource> medicalResources = List.of(getMedicalResource());
76
77 ReadMedicalResourcesInternalResponse response1 =
78 new ReadMedicalResourcesInternalResponse(medicalResources, pageToken1, 2);
79 ReadMedicalResourcesInternalResponse response2 =
80 new ReadMedicalResourcesInternalResponse(medicalResources, pageToken2, 2);
81
82 assertThat(response1.equals(response2)).isFalse();
83 }
84
85 @Test
86 public void
testReadMedicalResourcesInternalResponse_equals_differentMedicalResources_success()87 testReadMedicalResourcesInternalResponse_equals_differentMedicalResources_success() {
88 String pageToken = "aw==";
89 List<MedicalResource> medicalResources1 = List.of(getMedicalResource());
90 List<MedicalResource> medicalResources2 = List.of();
91
92 ReadMedicalResourcesInternalResponse response1 =
93 new ReadMedicalResourcesInternalResponse(medicalResources1, pageToken, 2);
94 ReadMedicalResourcesInternalResponse response2 =
95 new ReadMedicalResourcesInternalResponse(medicalResources2, pageToken, 2);
96
97 assertThat(response1.equals(response2)).isFalse();
98 }
99
100 @Test
testReadMedicalResourcesInternalResponse_equals_differentTotalSize()101 public void testReadMedicalResourcesInternalResponse_equals_differentTotalSize() {
102 String pageToken = "aw==";
103 List<MedicalResource> medicalResources = List.of(getMedicalResource());
104
105 ReadMedicalResourcesInternalResponse response1 =
106 new ReadMedicalResourcesInternalResponse(medicalResources, pageToken, 2);
107 ReadMedicalResourcesInternalResponse response2 =
108 new ReadMedicalResourcesInternalResponse(medicalResources, pageToken, 3);
109
110 assertThat(response1.equals(response2)).isFalse();
111 }
112
113 @Test
testReadMedicalResourcesInternalResponse_equals_twoFieldsDifferent_success()114 public void testReadMedicalResourcesInternalResponse_equals_twoFieldsDifferent_success() {
115 String pageToken1 = "aw==";
116 String pageToken2 = "ba==";
117 List<MedicalResource> medicalResources1 = List.of(getMedicalResource());
118 List<MedicalResource> medicalResources2 = List.of();
119
120 ReadMedicalResourcesInternalResponse response1 =
121 new ReadMedicalResourcesInternalResponse(medicalResources1, pageToken1, 10);
122 ReadMedicalResourcesInternalResponse response2 =
123 new ReadMedicalResourcesInternalResponse(medicalResources2, pageToken2, 10);
124
125 assertThat(response1.equals(response2)).isFalse();
126 }
127
128 @Test
testReadMedicalResourcesInternalResponse_equals_allFieldsTheSame_success()129 public void testReadMedicalResourcesInternalResponse_equals_allFieldsTheSame_success() {
130 String pageToken1 = "aw==";
131 String pageToken2 = "aw==";
132 List<MedicalResource> medicalResources1 = List.of(getMedicalResource());
133 List<MedicalResource> medicalResources2 = List.of(getMedicalResource());
134
135 ReadMedicalResourcesInternalResponse response1 =
136 new ReadMedicalResourcesInternalResponse(medicalResources1, pageToken1, 10);
137 ReadMedicalResourcesInternalResponse response2 =
138 new ReadMedicalResourcesInternalResponse(medicalResources2, pageToken2, 10);
139
140 assertThat(response1.equals(response2)).isTrue();
141 }
142
143 @Test
testReadMedicalResourcesInternalResponse_hashCode_allFieldsTheSame_success()144 public void testReadMedicalResourcesInternalResponse_hashCode_allFieldsTheSame_success() {
145 String pageToken = "aw==";
146 List<MedicalResource> medicalResources = List.of(getMedicalResource());
147 int totalSize = 10;
148 ReadMedicalResourcesInternalResponse response1 =
149 new ReadMedicalResourcesInternalResponse(medicalResources, pageToken, totalSize);
150 ReadMedicalResourcesInternalResponse response2 =
151 new ReadMedicalResourcesInternalResponse(medicalResources, pageToken, totalSize);
152
153 assertThat(response1.hashCode()).isEqualTo(response2.hashCode());
154 }
155 }
156