|
| 1 | +import copy |
1 | 2 | import logging
|
2 | 3 | import os
|
3 |
| -import copy |
4 |
| -import string |
5 | 4 | import unittest
|
6 | 5 |
|
7 | 6 | import numpy as np
|
8 | 7 | from syncropatch_export.trace import Trace
|
9 | 8 |
|
10 |
| -from pcpostprocess.hergQC import hERGQC, NOISE_LEN |
| 9 | +from pcpostprocess.hergQC import NOISE_LEN, hERGQC |
11 | 10 |
|
12 | 11 |
|
13 | 12 | class TestHergQC(unittest.TestCase):
|
@@ -108,28 +107,182 @@ def passed(result):
|
108 | 107 | f"QC1: {rseal}, {cm}, {rseries}",
|
109 | 108 | )
|
110 | 109 |
|
111 |
| - # Test on select data |
112 |
| - test_matrix = [ |
113 |
| - ("A01", True), |
114 |
| - ("A02", True), |
115 |
| - ("A03", True), |
116 |
| - ("A04", True), |
117 |
| - ("A05", True), |
118 |
| - ("A10", False), |
119 |
| - ("A12", False), |
120 |
| - ("A13", False), |
121 |
| - ("A16", False), |
122 |
| - ("A19", False), |
123 |
| - ] |
| 110 | + # Test on data |
| 111 | + test_wells_before = { |
| 112 | + 'A01': True, 'A02': True, 'A03': True, 'A04': True, 'A05': True, |
| 113 | + 'A06': True, 'A07': True, 'A08': True, 'A09': True, 'A10': False, |
| 114 | + 'A11': True, 'A12': False, 'A13': False, 'A14': True, 'A15': True, |
| 115 | + 'A16': False, 'A17': True, 'A18': True, 'A19': False, 'A20': False, |
| 116 | + 'A21': True, 'A22': True, 'A23': True, 'A24': False, 'B01': True, |
| 117 | + 'B02': True, 'B03': True, 'B04': True, 'B05': False, 'B06': True, |
| 118 | + 'B07': False, 'B08': True, 'B09': True, 'B10': True, 'B11': False, |
| 119 | + 'B12': False, 'B13': False, 'B14': True, 'B15': False, 'B16': True, |
| 120 | + 'B17': True, 'B18': True, 'B19': False, 'B20': True, 'B21': False, |
| 121 | + 'B22': True, 'B23': False, 'B24': True, 'C01': True, 'C02': False, |
| 122 | + 'C03': True, 'C04': False, 'C05': True, 'C06': True, 'C07': False, |
| 123 | + 'C08': True, 'C09': False, 'C10': True, 'C11': False, 'C12': False, |
| 124 | + 'C13': True, 'C14': False, 'C15': True, 'C16': True, 'C17': True, |
| 125 | + 'C18': False, 'C19': False, 'C20': False, 'C21': True, 'C22': True, |
| 126 | + 'C23': False, 'C24': True, 'D01': True, 'D02': False, 'D03': False, |
| 127 | + 'D04': True, 'D05': False, 'D06': True, 'D07': True, 'D08': True, |
| 128 | + 'D09': False, 'D10': False, 'D11': True, 'D12': True, 'D13': True, |
| 129 | + 'D14': False, 'D15': False, 'D16': False, 'D17': True, 'D18': True, |
| 130 | + 'D19': False, 'D20': True, 'D21': False, 'D22': True, 'D23': True, |
| 131 | + 'D24': True, 'E01': True, 'E02': True, 'E03': True, 'E04': False, |
| 132 | + 'E05': True, 'E06': False, 'E07': False, 'E08': True, 'E09': True, |
| 133 | + 'E10': False, 'E11': False, 'E12': True, 'E13': True, 'E14': False, |
| 134 | + 'E15': False, 'E16': False, 'E17': False, 'E18': True, 'E19': False, |
| 135 | + 'E20': True, 'E21': True, 'E22': False, 'E23': False, 'E24': True, |
| 136 | + 'F01': False, 'F02': True, 'F03': False, 'F04': False, 'F05': False, |
| 137 | + 'F06': True, 'F07': False, 'F08': True, 'F09': False, 'F10': True, |
| 138 | + 'F11': True, 'F12': False, 'F13': False, 'F14': False, 'F15': False, |
| 139 | + 'F16': True, 'F17': True, 'F18': False, 'F19': False, 'F20': False, |
| 140 | + 'F21': False, 'F22': True, 'F23': True, 'F24': False, 'G01': True, |
| 141 | + 'G02': True, 'G03': True, 'G04': True, 'G05': True, 'G06': False, |
| 142 | + 'G07': True, 'G08': True, 'G09': False, 'G10': True, 'G11': True, |
| 143 | + 'G12': False, 'G13': False, 'G14': False, 'G15': True, 'G16': False, |
| 144 | + 'G17': False, 'G18': True, 'G19': True, 'G20': False, 'G21': False, |
| 145 | + 'G22': True, 'G23': False, 'G24': False, 'H01': False, 'H02': False, |
| 146 | + 'H03': False, 'H04': True, 'H05': True, 'H06': False, 'H07': False, |
| 147 | + 'H08': False, 'H09': True, 'H10': False, 'H11': False, 'H12': True, |
| 148 | + 'H13': False, 'H14': False, 'H15': False, 'H16': False, 'H17': True, |
| 149 | + 'H18': True, 'H19': False, 'H20': True, 'H21': False, 'H22': True, |
| 150 | + 'H23': False, 'H24': False, 'I01': False, 'I02': True, 'I03': True, |
| 151 | + 'I04': False, 'I05': False, 'I06': False, 'I07': False, 'I08': False, |
| 152 | + 'I09': True, 'I10': False, 'I11': False, 'I12': False, 'I13': True, |
| 153 | + 'I14': True, 'I15': True, 'I16': False, 'I17': False, 'I18': True, |
| 154 | + 'I19': True, 'I20': True, 'I21': False, 'I22': True, 'I23': True, |
| 155 | + 'I24': True, 'J01': True, 'J02': True, 'J03': True, 'J04': True, |
| 156 | + 'J05': True, 'J06': True, 'J07': False, 'J08': True, 'J09': True, |
| 157 | + 'J10': False, 'J11': True, 'J12': True, 'J13': True, 'J14': True, |
| 158 | + 'J15': True, 'J16': False, 'J17': False, 'J18': True, 'J19': False, |
| 159 | + 'J20': True, 'J21': False, 'J22': True, 'J23': True, 'J24': False, |
| 160 | + 'K01': True, 'K02': False, 'K03': False, 'K04': True, 'K05': True, |
| 161 | + 'K06': False, 'K07': False, 'K08': True, 'K09': True, 'K10': True, |
| 162 | + 'K11': False, 'K12': False, 'K13': True, 'K14': True, 'K15': True, |
| 163 | + 'K16': False, 'K17': False, 'K18': True, 'K19': True, 'K20': False, |
| 164 | + 'K21': True, 'K22': False, 'K23': True, 'K24': False, 'L01': False, |
| 165 | + 'L02': False, 'L03': True, 'L04': False, 'L05': False, 'L06': True, |
| 166 | + 'L07': True, 'L08': False, 'L09': True, 'L10': False, 'L11': False, |
| 167 | + 'L12': True, 'L13': False, 'L14': True, 'L15': True, 'L16': False, |
| 168 | + 'L17': False, 'L18': False, 'L19': True, 'L20': True, 'L21': True, |
| 169 | + 'L22': True, 'L23': True, 'L24': False, 'M01': False, 'M02': True, |
| 170 | + 'M03': True, 'M04': False, 'M05': True, 'M06': False, 'M07': True, |
| 171 | + 'M08': True, 'M09': False, 'M10': True, 'M11': True, 'M12': False, |
| 172 | + 'M13': True, 'M14': False, 'M15': False, 'M16': False, 'M17': True, |
| 173 | + 'M18': True, 'M19': False, 'M20': False, 'M21': False, 'M22': True, |
| 174 | + 'M23': True, 'M24': True, 'N01': True, 'N02': True, 'N03': False, |
| 175 | + 'N04': False, 'N05': True, 'N06': False, 'N07': True, 'N08': False, |
| 176 | + 'N09': True, 'N10': True, 'N11': False, 'N12': True, 'N13': False, |
| 177 | + 'N14': False, 'N15': True, 'N16': False, 'N17': True, 'N18': False, |
| 178 | + 'N19': True, 'N20': True, 'N21': False, 'N22': True, 'N23': True, |
| 179 | + 'N24': False, 'O01': False, 'O02': False, 'O03': False, 'O04': True, |
| 180 | + 'O05': False, 'O06': True, 'O07': False, 'O08': True, 'O09': True, |
| 181 | + 'O10': False, 'O11': False, 'O12': True, 'O13': True, 'O14': True, |
| 182 | + 'O15': True, 'O16': True, 'O17': False, 'O18': True, 'O19': False, |
| 183 | + 'O20': True, 'O21': True, 'O22': False, 'O23': True, 'O24': False, |
| 184 | + 'P01': False, 'P02': True, 'P03': False, 'P04': True, 'P05': True, |
| 185 | + 'P06': False, 'P07': False, 'P08': False, 'P09': False, 'P10': True, |
| 186 | + 'P11': True, 'P12': False, 'P13': False, 'P14': False, 'P15': False, |
| 187 | + 'P16': False, 'P17': False, 'P18': False, 'P19': True, 'P20': True, |
| 188 | + 'P21': False, 'P22': False, 'P23': True, 'P24': False |
| 189 | + } |
| 190 | + |
| 191 | + for well in test_wells_before: |
| 192 | + qc_vals_before = np.array(self.qc_vals_before[well])[0, :] |
| 193 | + self.assertEqual( |
| 194 | + passed(hergqc.qc1(*qc_vals_before)), |
| 195 | + test_wells_before[well], |
| 196 | + f"QC1: {well} (before) {qc_vals_before}", |
| 197 | + ) |
124 | 198 |
|
125 |
| - for well, expected in test_matrix: |
126 |
| - with self.subTest(well): |
127 |
| - qc_vals_before = np.array(self.qc_vals_before[well])[0, :] |
128 |
| - self.assertEqual( |
129 |
| - passed(hergqc.qc1(*qc_vals_before)), |
130 |
| - expected, |
131 |
| - f"QC1: {well} (before) {qc_vals_before}", |
132 |
| - ) |
| 199 | + test_wells_after = { |
| 200 | + 'A01': True, 'A02': True, 'A03': True, 'A04': True, 'A05': True, |
| 201 | + 'A06': False, 'A07': True, 'A08': False, 'A09': True, 'A10': False, |
| 202 | + 'A11': True, 'A12': False, 'A13': False, 'A14': True, 'A15': True, |
| 203 | + 'A16': False, 'A17': True, 'A18': True, 'A19': False, 'A20': False, |
| 204 | + 'A21': True, 'A22': True, 'A23': True, 'A24': False, 'B01': True, |
| 205 | + 'B02': False, 'B03': True, 'B04': True, 'B05': False, 'B06': True, |
| 206 | + 'B07': False, 'B08': True, 'B09': True, 'B10': True, 'B11': False, |
| 207 | + 'B12': False, 'B13': False, 'B14': True, 'B15': False, 'B16': True, |
| 208 | + 'B17': True, 'B18': True, 'B19': False, 'B20': True, 'B21': False, |
| 209 | + 'B22': True, 'B23': False, 'B24': True, 'C01': False, 'C02': False, |
| 210 | + 'C03': True, 'C04': False, 'C05': True, 'C06': True, 'C07': False, |
| 211 | + 'C08': True, 'C09': False, 'C10': True, 'C11': False, 'C12': False, |
| 212 | + 'C13': True, 'C14': False, 'C15': True, 'C16': True, 'C17': True, |
| 213 | + 'C18': False, 'C19': True, 'C20': False, 'C21': True, 'C22': False, |
| 214 | + 'C23': False, 'C24': True, 'D01': True, 'D02': True, 'D03': False, |
| 215 | + 'D04': True, 'D05': False, 'D06': True, 'D07': True, 'D08': True, |
| 216 | + 'D09': False, 'D10': False, 'D11': True, 'D12': True, 'D13': True, |
| 217 | + 'D14': False, 'D15': False, 'D16': True, 'D17': True, 'D18': True, |
| 218 | + 'D19': False, 'D20': True, 'D21': False, 'D22': True, 'D23': True, |
| 219 | + 'D24': True, 'E01': False, 'E02': True, 'E03': False, 'E04': False, |
| 220 | + 'E05': True, 'E06': False, 'E07': False, 'E08': True, 'E09': False, |
| 221 | + 'E10': False, 'E11': False, 'E12': True, 'E13': True, 'E14': False, |
| 222 | + 'E15': False, 'E16': False, 'E17': False, 'E18': True, 'E19': False, |
| 223 | + 'E20': False, 'E21': True, 'E22': False, 'E23': False, 'E24': False, |
| 224 | + 'F01': False, 'F02': True, 'F03': False, 'F04': False, 'F05': True, |
| 225 | + 'F06': True, 'F07': False, 'F08': True, 'F09': False, 'F10': True, |
| 226 | + 'F11': True, 'F12': False, 'F13': False, 'F14': False, 'F15': False, |
| 227 | + 'F16': False, 'F17': True, 'F18': False, 'F19': False, 'F20': False, |
| 228 | + 'F21': False, 'F22': True, 'F23': True, 'F24': False, 'G01': True, |
| 229 | + 'G02': True, 'G03': True, 'G04': True, 'G05': True, 'G06': False, |
| 230 | + 'G07': True, 'G08': False, 'G09': False, 'G10': True, 'G11': True, |
| 231 | + 'G12': False, 'G13': False, 'G14': False, 'G15': False, 'G16': False, |
| 232 | + 'G17': False, 'G18': True, 'G19': True, 'G20': False, 'G21': False, |
| 233 | + 'G22': True, 'G23': False, 'G24': False, 'H01': False, 'H02': False, |
| 234 | + 'H03': False, 'H04': False, 'H05': True, 'H06': False, 'H07': False, |
| 235 | + 'H08': False, 'H09': False, 'H10': False, 'H11': False, 'H12': True, |
| 236 | + 'H13': False, 'H14': False, 'H15': False, 'H16': False, 'H17': False, |
| 237 | + 'H18': False, 'H19': False, 'H20': False, 'H21': False, 'H22': True, |
| 238 | + 'H23': False, 'H24': False, 'I01': False, 'I02': True, 'I03': True, |
| 239 | + 'I04': False, 'I05': False, 'I06': False, 'I07': False, 'I08': False, |
| 240 | + 'I09': True, 'I10': False, 'I11': True, 'I12': False, 'I13': True, |
| 241 | + 'I14': True, 'I15': True, 'I16': False, 'I17': False, 'I18': True, |
| 242 | + 'I19': True, 'I20': False, 'I21': False, 'I22': True, 'I23': True, |
| 243 | + 'I24': True, 'J01': True, 'J02': True, 'J03': False, 'J04': True, |
| 244 | + 'J05': True, 'J06': True, 'J07': False, 'J08': True, 'J09': True, |
| 245 | + 'J10': False, 'J11': True, 'J12': True, 'J13': True, 'J14': False, |
| 246 | + 'J15': True, 'J16': False, 'J17': False, 'J18': True, 'J19': False, |
| 247 | + 'J20': True, 'J21': False, 'J22': True, 'J23': False, 'J24': False, |
| 248 | + 'K01': True, 'K02': False, 'K03': False, 'K04': True, 'K05': True, |
| 249 | + 'K06': False, 'K07': False, 'K08': True, 'K09': True, 'K10': True, |
| 250 | + 'K11': True, 'K12': True, 'K13': True, 'K14': False, 'K15': True, |
| 251 | + 'K16': False, 'K17': True, 'K18': True, 'K19': True, 'K20': False, |
| 252 | + 'K21': True, 'K22': False, 'K23': False, 'K24': False, 'L01': False, |
| 253 | + 'L02': False, 'L03': False, 'L04': False, 'L05': False, 'L06': True, |
| 254 | + 'L07': True, 'L08': False, 'L09': True, 'L10': False, 'L11': False, |
| 255 | + 'L12': False, 'L13': False, 'L14': True, 'L15': True, 'L16': False, |
| 256 | + 'L17': False, 'L18': False, 'L19': True, 'L20': True, 'L21': True, |
| 257 | + 'L22': True, 'L23': True, 'L24': False, 'M01': False, 'M02': False, |
| 258 | + 'M03': True, 'M04': False, 'M05': False, 'M06': False, 'M07': True, |
| 259 | + 'M08': False, 'M09': False, 'M10': True, 'M11': True, 'M12': False, |
| 260 | + 'M13': False, 'M14': False, 'M15': False, 'M16': True, 'M17': True, |
| 261 | + 'M18': True, 'M19': False, 'M20': False, 'M21': False, 'M22': True, |
| 262 | + 'M23': True, 'M24': True, 'N01': True, 'N02': True, 'N03': True, |
| 263 | + 'N04': False, 'N05': True, 'N06': False, 'N07': True, 'N08': False, |
| 264 | + 'N09': True, 'N10': True, 'N11': False, 'N12': True, 'N13': False, |
| 265 | + 'N14': False, 'N15': True, 'N16': False, 'N17': True, 'N18': False, |
| 266 | + 'N19': False, 'N20': True, 'N21': False, 'N22': True, 'N23': True, |
| 267 | + 'N24': False, 'O01': False, 'O02': False, 'O03': False, 'O04': True, |
| 268 | + 'O05': False, 'O06': True, 'O07': False, 'O08': False, 'O09': True, |
| 269 | + 'O10': False, 'O11': False, 'O12': True, 'O13': True, 'O14': False, |
| 270 | + 'O15': False, 'O16': True, 'O17': False, 'O18': True, 'O19': False, |
| 271 | + 'O20': True, 'O21': True, 'O22': False, 'O23': True, 'O24': False, |
| 272 | + 'P01': False, 'P02': True, 'P03': False, 'P04': True, 'P05': True, |
| 273 | + 'P06': False, 'P07': False, 'P08': False, 'P09': False, 'P10': True, |
| 274 | + 'P11': False, 'P12': False, 'P13': False, 'P14': False, 'P15': False, |
| 275 | + 'P16': False, 'P17': False, 'P18': False, 'P19': False, 'P20': True, |
| 276 | + 'P21': False, 'P22': False, 'P23': True, 'P24': True |
| 277 | + } |
| 278 | + |
| 279 | + for well in test_wells_after: |
| 280 | + qc_vals_after = np.array(self.qc_vals_after[well])[0, :] |
| 281 | + self.assertEqual( |
| 282 | + passed(hergqc.qc1(*qc_vals_after)), |
| 283 | + test_wells_after[well], |
| 284 | + f"QC1: {well} (after) {qc_vals_after}", |
| 285 | + ) |
133 | 286 |
|
134 | 287 | def test_qc2(self):
|
135 | 288 | hergqc = copy.deepcopy(self.hergqc)
|
|
0 commit comments