diff --git a/data/GPAT/trial01.xls b/data/GPAT/trial01.xls index 614ef4daf8..2a835bac11 100644 Binary files a/data/GPAT/trial01.xls and b/data/GPAT/trial01.xls differ diff --git a/data/GPAT/trial01a.xlsx b/data/GPAT/trial01a.xlsx index 4e502e966b..77e2bb4bb6 100644 Binary files a/data/GPAT/trial01a.xlsx and b/data/GPAT/trial01a.xlsx differ diff --git a/data/GPAT/trial02.tsv b/data/GPAT/trial02.tsv index 6cc4e619d8..77c12e8e7f 100644 --- a/data/GPAT/trial02.tsv +++ b/data/GPAT/trial02.tsv @@ -1,202 +1,202 @@ -Role ptid VisitID DrawDt SpecimenID Primary Additive EmptyCol Score -Sample 188438418 104 16-Feb-10 K770K3VY-19 1 ACD Positive -Sample 188487431 105 23-Feb-10 A770K4W1-15 2 ACD Positive -Sample 188418893 106 23-Mar-10 F770K7MD-16 3 ACD Positive -Sample 188487134 108 24-Jul-08 K8901690-22 4 ACD Positive -Sample 188479178 108 12-Aug-08 E89016RF-17 5 ACD Positive -Sample 188441913 109 09-Sep-08 B8901853-06 6 ACD Positive -Sample 188479871 109 18-Sep-08 D89018QB-14 7 ACD Positive -Sample 188479813 103 28-Aug-09 D8Y0FV32-20 8 ACD Positive -Sample 188479835 104 04-Sep-09 G8Y0FWXN-12 9 ACD Positive -Sample 188438730 105 10-Sep-09 E8Y0FY30-20 10 ACD Positive -Sample 188406875 106 08-Oct-09 H8Y0G3WQ-11 11 ACD Positive -Sample 188421936 104 20-Aug-09 JAA0XYMD-13 12 ACD Positive -Sample 188498301 105 27-Aug-09 BAA0Y1P6-23 13 ACD Positive -Sample 188479230 106 25-Sep-09 FAA0YDTR-22 14 ACD Positive -Sample 188479135 107 04-Jun-09 K770HXHG-19 15 ACD Positive -Sample 188432150 108 02-Jul-09 A770J175-07 16 ACD Positive -Sample 188438419 104 16-Feb-10 K770K3VY-1918 17 ACD Positive -Sample 188487432 105 23-Feb-10 K770K3VY-1919 18 ACD Positive -Sample 188418894 106 23-Mar-10 K770K3VY-1920 19 ACD Positive -Sample 188487135 108 24-Jul-08 K770K3VY-1921 20 ACD Positive -Sample 188479179 108 12-Aug-08 K770K3VY-1922 21 ACD Positive -Sample 188441914 109 09-Sep-08 K770K3VY-1923 22 ACD Positive -Sample 188479872 109 18-Sep-08 K770K3VY-1924 23 ACD Positive -Sample 188479814 103 28-Aug-09 K770K3VY-1925 24 ACD Positive -Sample 188479836 104 04-Sep-09 K770K3VY-1926 25 ACD Positive -Sample 188438731 105 10-Sep-09 K770K3VY-1927 26 ACD Positive -Sample 188406876 106 08-Oct-09 K770K3VY-1928 27 ACD Positive -Sample 188421937 104 20-Aug-09 K770K3VY-1929 28 ACD Positive -Sample 188498302 105 27-Aug-09 K770K3VY-1930 29 ACD Positive -Sample 188479231 106 25-Sep-09 K770K3VY-1931 30 ACD Positive -Sample 188479136 107 04-Jun-09 K770K3VY-1932 31 ACD Positive -Sample 188432151 108 02-Jul-09 K770K3VY-1933 32 ACD Positive -Sample 188438420 104 17-Feb-10 K770K3VY-1934 33 ACD Positive -Sample 188487433 105 24-Feb-10 K770K3VY-1935 34 ACD Positive -Sample 188418895 106 24-Mar-10 K770K3VY-1936 35 ACD Positive -Sample 188487136 108 25-Jul-08 K770K3VY-1937 36 ACD Positive -Sample 188479180 108 13-Aug-08 K770K3VY-1938 37 ACD Positive -Sample 188441915 109 10-Sep-08 K770K3VY-1939 38 ACD Positive -Sample 188479873 109 19-Sep-08 K770K3VY-1940 39 ACD Positive -Sample 188479815 103 29-Aug-09 K770K3VY-1941 40 ACD Positive -Sample 188479837 104 05-Sep-09 K770K3VY-1942 41 ACD Positive -Sample 188438732 105 11-Sep-09 K770K3VY-1943 42 ACD Positive -Sample 188406877 106 09-Oct-09 K770K3VY-1944 43 ACD Positive -Sample 188421938 104 21-Aug-09 K770K3VY-1945 44 ACD Positive -Sample 188498303 105 28-Aug-09 K770K3VY-1946 45 ACD Positive -Sample 188479232 106 26-Sep-09 K770K3VY-1947 46 ACD Positive -Sample 188479137 107 05-Jun-09 K770K3VY-1948 47 ACD Positive -Sample 188432152 108 03-Jul-09 K770K3VY-1949 48 ACD Positive -Sample 188438421 104 18-Feb-10 K770K3VY-1950 49 ACD Positive -Sample 188487434 105 25-Feb-10 K770K3VY-1951 50 ACD Positive -Sample 188418896 106 25-Mar-10 K770K3VY-1952 51 ACD Positive -Sample 188487137 108 26-Jul-08 K770K3VY-1953 52 ACD Positive -Sample 188479181 108 14-Aug-08 K770K3VY-1954 53 ACD Positive -Sample 188441916 109 11-Sep-08 K770K3VY-1955 54 ACD Positive -Sample 188479874 109 20-Sep-08 K770K3VY-1956 55 ACD Positive -Sample 188479816 103 30-Aug-09 K770K3VY-1957 56 ACD Positive -Sample 188479838 104 06-Sep-09 K770K3VY-1958 57 ACD Positive -Sample 188438733 105 12-Sep-09 K770K3VY-1959 58 ACD Positive -Sample 188406878 106 10-Oct-09 K770K3VY-1960 59 ACD Positive -Sample 188421939 104 22-Aug-09 K770K3VY-1961 60 ACD Positive -Sample 188498304 105 29-Aug-09 K770K3VY-1962 61 ACD Positive -Sample 188479233 106 27-Sep-09 K770K3VY-1963 62 ACD Positive -Sample 188479138 107 06-Jun-09 K770K3VY-1964 63 ACD Positive -Sample 188432153 108 04-Jul-09 K770K3VY-1965 64 ACD Positive -Sample 188438422 104 19-Feb-10 K770K3VY-1966 65 ACD Positive -Sample 188487435 105 26-Feb-10 K770K3VY-1967 66 ACD Positive -Sample 188418897 106 26-Mar-10 K770K3VY-1968 67 ACD Positive -Sample 188487138 108 27-Jul-08 K770K3VY-1969 68 ACD Positive -Sample 188479182 108 15-Aug-08 K770K3VY-1970 69 ACD Positive -Sample 188441917 109 12-Sep-08 K770K3VY-1971 70 ACD Positive -Sample 188479875 109 21-Sep-08 K770K3VY-1972 71 ACD Positive -Sample 188479817 103 31-Aug-09 K770K3VY-1973 72 ACD Positive -Sample 188479839 104 07-Sep-09 K770K3VY-1974 73 ACD Positive -Sample 188438734 105 13-Sep-09 K770K3VY-1975 74 ACD Positive -Sample 188406879 106 11-Oct-09 K770K3VY-1976 75 ACD Positive -Sample 188421940 104 23-Aug-09 K770K3VY-1977 76 ACD Positive -Sample 188498305 105 30-Aug-09 K770K3VY-1978 77 ACD Positive -Sample 188479234 106 28-Sep-09 K770K3VY-1979 78 ACD Positive -Sample 188479139 107 07-Jun-09 K770K3VY-1980 79 ACD Positive -Sample 188432154 108 05-Jul-09 K770K3VY-1981 80 ACD Positive -Sample 188438423 104 20-Feb-10 K770K3VY-1982 81 ACD Positive -Sample 188487436 105 27-Feb-10 K770K3VY-1983 82 ACD Positive -Sample 188418898 106 27-Mar-10 K770K3VY-1984 83 ACD Positive -Sample 188487139 108 28-Jul-08 K770K3VY-1985 84 ACD Positive -Sample 188479183 108 16-Aug-08 K770K3VY-1986 85 ACD Positive -Sample 188441918 109 13-Sep-08 K770K3VY-1987 86 ACD Positive -Sample 188479876 109 22-Sep-08 K770K3VY-1988 87 ACD Positive -Sample 188479818 103 01-Sep-09 K770K3VY-1989 88 ACD Positive -Sample 188479840 104 08-Sep-09 K770K3VY-1990 89 ACD Positive -Sample 188438735 105 14-Sep-09 K770K3VY-1991 90 ACD Positive -Sample 188406880 106 12-Oct-09 K770K3VY-1992 91 ACD Positive -Sample 188421941 104 24-Aug-09 K770K3VY-1993 92 ACD Positive -Sample 188498306 105 31-Aug-09 K770K3VY-1994 93 ACD Positive -Sample 188479235 106 29-Sep-09 K770K3VY-1995 94 ACD Positive -Sample 188479140 107 08-Jun-09 K770K3VY-1996 95 ACD Positive -Sample 188432155 108 06-Jul-09 K770K3VY-1997 96 ACD Positive -Sample 188438424 104 21-Feb-10 K770K3VY-1998 97 ACD Positive -Sample 188487437 105 28-Feb-10 K770K3VY-1999 98 ACD Positive -Sample 188418899 106 28-Mar-10 K770K3VY-19100 99 ACD Positive -Sample 188487140 108 29-Jul-08 K770K3VY-19101 100 ACD Positive -Sample 188479184 108 17-Aug-08 K770K3VY-19102 101 ACD Positive -Sample 188441919 109 14-Sep-08 K770K3VY-19103 102 ACD Positive -Sample 188479877 109 23-Sep-08 K770K3VY-19104 103 ACD Positive -Sample 188479819 103 02-Sep-09 K770K3VY-19105 104 ACD Positive -Sample 188479841 104 09-Sep-09 K770K3VY-19106 105 ACD Positive -Sample 188438736 105 15-Sep-09 K770K3VY-19107 106 ACD Positive -Sample 188406881 106 13-Oct-09 K770K3VY-19108 107 ACD Positive -Sample 188421942 104 25-Aug-09 K770K3VY-19109 108 ACD Positive -Sample 188498307 105 01-Sep-09 K770K3VY-19110 109 ACD Positive -Sample 188479236 106 30-Sep-09 K770K3VY-19111 110 ACD Positive -Sample 188479141 107 09-Jun-09 K770K3VY-19112 111 ACD Positive -Sample 188432156 108 07-Jul-09 K770K3VY-19113 112 ACD Positive -Sample 188438425 104 22-Feb-10 K770K3VY-19114 113 ACD Positive -Sample 188487438 105 01-Mar-10 K770K3VY-19115 114 ACD Positive -Sample 188418900 106 29-Mar-10 K770K3VY-19116 115 ACD Positive -Sample 188487141 108 30-Jul-08 K770K3VY-19117 116 ACD Positive -Sample 188479185 108 18-Aug-08 K770K3VY-19118 117 ACD Positive -Sample 188441920 109 15-Sep-08 K770K3VY-19119 118 ACD Positive -Sample 188479878 109 24-Sep-08 K770K3VY-19120 119 ACD Positive -Sample 188479820 103 03-Sep-09 K770K3VY-19121 120 ACD Positive -Sample 188479842 104 10-Sep-09 K770K3VY-19122 121 ACD Positive -Sample 188438737 105 16-Sep-09 K770K3VY-19123 122 ACD Positive -Sample 188406882 106 14-Oct-09 K770K3VY-19124 123 ACD Positive -Sample 188421943 104 26-Aug-09 K770K3VY-19125 124 ACD Positive -Sample 188498308 105 02-Sep-09 K770K3VY-19126 125 ACD Positive -Sample 188479237 106 01-Oct-09 K770K3VY-19127 126 ACD Positive -Sample 188479142 107 10-Jun-09 K770K3VY-19128 127 ACD Positive -Sample 188432157 108 08-Jul-09 K770K3VY-19129 128 ACD Positive -Sample 188438426 104 23-Feb-10 K770K3VY-19130 129 ACD Positive -Sample 188487439 105 02-Mar-10 K770K3VY-19131 130 ACD Positive -Sample 188418901 106 30-Mar-10 K770K3VY-19132 131 ACD Positive -Sample 188487142 108 31-Jul-08 K770K3VY-19133 132 ACD Positive -Sample 188479186 108 19-Aug-08 K770K3VY-19134 133 ACD Positive -Sample 188441921 109 16-Sep-08 K770K3VY-19135 134 ACD Positive -Sample 188479879 109 25-Sep-08 K770K3VY-19136 135 ACD Positive -Sample 188479821 103 04-Sep-09 K770K3VY-19137 136 ACD Positive -Sample 188479843 104 11-Sep-09 K770K3VY-19138 137 ACD Positive -Sample 188438738 105 17-Sep-09 K770K3VY-19139 138 ACD Positive -Sample 188406883 106 15-Oct-09 K770K3VY-19140 139 ACD Positive -Sample 188421944 104 27-Aug-09 K770K3VY-19141 140 ACD Positive -Sample 188498309 105 03-Sep-09 K770K3VY-19142 141 ACD Positive -Sample 188479238 106 02-Oct-09 K770K3VY-19143 142 ACD Positive -Sample 188479143 107 11-Jun-09 K770K3VY-19144 143 ACD Positive -Sample 188432158 108 09-Jul-09 K770K3VY-19145 144 ACD Positive -Sample 188438427 104 24-Feb-10 K770K3VY-19146 145 ACD Positive -Sample 188487440 105 03-Mar-10 K770K3VY-19147 146 ACD Positive -Sample 188418902 106 31-Mar-10 K770K3VY-19148 147 ACD Positive -Sample 188487143 108 01-Aug-08 K770K3VY-19149 148 ACD Positive -Sample 188479187 108 20-Aug-08 K770K3VY-19150 149 ACD Positive -Sample 188441922 109 17-Sep-08 K770K3VY-19151 150 ACD Positive -Sample 188479880 109 26-Sep-08 K770K3VY-19152 151 ACD Positive -Sample 188479822 103 05-Sep-09 K770K3VY-19153 152 ACD Positive -Sample 188479844 104 12-Sep-09 K770K3VY-19154 153 ACD Positive -Sample 188438739 105 18-Sep-09 K770K3VY-19155 154 ACD Positive -Sample 188406884 106 16-Oct-09 K770K3VY-19156 155 ACD Positive -Sample 188421945 104 28-Aug-09 K770K3VY-19157 156 ACD Positive -Sample 188498310 105 04-Sep-09 K770K3VY-19158 157 ACD Positive -Sample 188479239 106 03-Oct-09 K770K3VY-19159 158 ACD Positive -Sample 188479144 107 12-Jun-09 K770K3VY-19160 159 ACD Positive -Sample 188432159 108 10-Jul-09 K770K3VY-19161 160 ACD Positive -Sample 188438428 104 25-Feb-10 K770K3VY-19162 161 ACD Positive -Sample 188487441 105 04-Mar-10 K770K3VY-19163 162 ACD Positive -Sample 188418903 106 01-Apr-10 K770K3VY-19164 163 ACD Positive -Sample 188487144 108 02-Aug-08 K770K3VY-19165 164 ACD Positive -Sample 188479188 108 21-Aug-08 K770K3VY-19166 165 ACD Positive -Sample 188441923 109 18-Sep-08 K770K3VY-19167 166 ACD Positive -Sample 188479881 109 27-Sep-08 K770K3VY-19168 167 ACD Positive -Sample 188479823 103 06-Sep-09 K770K3VY-19169 168 ACD Positive -Sample 188479845 104 13-Sep-09 K770K3VY-19170 169 ACD Positive -Sample 188438740 105 19-Sep-09 K770K3VY-19171 170 ACD Positive -Sample 188406885 106 17-Oct-09 K770K3VY-19172 171 ACD Positive -Sample 188421946 104 29-Aug-09 K770K3VY-19173 172 ACD Positive -Sample 188498311 105 05-Sep-09 K770K3VY-19174 173 ACD Positive -Sample 188479240 106 04-Oct-09 K770K3VY-19175 174 ACD Positive -Sample 188479145 107 13-Jun-09 K770K3VY-19176 175 ACD Positive -Sample 188432160 108 11-Jul-09 K770K3VY-19177 176 ACD Positive -Sample 188438429 104 26-Feb-10 K770K3VY-19178 177 ACD Positive -Sample 188487442 105 05-Mar-10 K770K3VY-19179 178 ACD Positive -Sample 188418904 106 02-Apr-10 K770K3VY-19180 179 ACD Positive -Sample 188487145 108 03-Aug-08 K770K3VY-19181 180 ACD Positive -Sample 188479189 108 22-Aug-08 K770K3VY-19182 181 ACD Positive -Sample 188441924 109 19-Sep-08 K770K3VY-19183 182 ACD Positive -Sample 188479882 109 28-Sep-08 K770K3VY-19184 183 ACD Positive -Sample 188479824 103 07-Sep-09 K770K3VY-19185 184 ACD Positive -Sample 188479846 104 14-Sep-09 K770K3VY-19186 185 ACD Positive -Sample 188438741 105 20-Sep-09 K770K3VY-19187 186 ACD Positive -Sample 188406886 106 18-Oct-09 K770K3VY-19188 187 ACD Positive -Sample 188421947 104 30-Aug-09 K770K3VY-19189 188 ACD Positive -Sample 188498312 105 06-Sep-09 K770K3VY-19190 189 ACD Positive -Sample 188479241 106 05-Oct-09 K770K3VY-19191 190 ACD Positive -Sample 188479146 107 14-Jun-09 K770K3VY-19192 191 ACD Positive -Sample 188432161 108 12-Jul-09 K770K3VY-19193 192 ACD Positive -Sample 188438430 104 27-Feb-10 K770K3VY-19194 193 ACD Positive -Sample 188487443 105 06-Mar-10 K770K3VY-19195 194 ACD Positive -Sample 188418905 106 03-Apr-10 K770K3VY-19196 195 ACD Positive -Sample 188487146 108 04-Aug-08 K770K3VY-19197 196 ACD Positive -Sample 188479190 108 23-Aug-08 K770K3VY-19198 197 ACD Positive -Sample 188441925 109 20-Sep-08 K770K3VY-19199 198 ACD Positive -Sample 188479883 109 29-Sep-08 K770K3VY-19200 199 ACD Positive -Sample 188479825 103 08-Sep-09 K770K3VY-19201 200 ACD Positive -Sample 188487135 104 27-Feb-10 K770K3VY-19202 text ACD Positive +Role ptid VisitID DrawDt DateOnly TimeOnly SpecimenID Primary Additive EmptyCol Score +Sample 188438418 104 16-Feb-10 16-Feb-10 3:30 PM K770K3VY-19 1 ACD Positive +Sample 188487431 105 23-Feb-10 23-Feb-10 2:08 AM A770K4W1-15 2 ACD Positive +Sample 188418893 106 23-Mar-10 23-Mar-10 7:58 PM F770K7MD-16 3 ACD Positive +Sample 188487134 108 24-Jul-08 24-Jul-08 1:58 PM K8901690-22 4 ACD Positive +Sample 188479178 108 12-Aug-08 12-Aug-08 7:21 PM E89016RF-17 5 ACD Positive +Sample 188441913 109 9-Sep-08 9-Sep-08 9:56 AM B8901853-06 6 ACD Positive +Sample 188479871 109 18-Sep-08 18-Sep-08 5:14 AM D89018QB-14 7 ACD Positive +Sample 188479813 103 28-Aug-09 28-Aug-09 10:35 AM D8Y0FV32-20 8 ACD Positive +Sample 188479835 104 4-Sep-09 4-Sep-09 5:18 PM G8Y0FWXN-12 9 ACD Positive +Sample 188438730 105 10-Sep-09 10-Sep-09 10:53 PM E8Y0FY30-20 10 ACD Positive +Sample 188406875 106 8-Oct-09 8-Oct-09 3:45 PM H8Y0G3WQ-11 11 ACD Positive +Sample 188421936 104 20-Aug-09 20-Aug-09 1:23 PM JAA0XYMD-13 12 ACD Positive +Sample 188498301 105 27-Aug-09 27-Aug-09 4:56 PM BAA0Y1P6-23 13 ACD Positive +Sample 188479230 106 25-Sep-09 25-Sep-09 8:45 PM FAA0YDTR-22 14 ACD Positive +Sample 188479135 107 4-Jun-09 4-Jun-09 3:44 PM K770HXHG-19 15 ACD Positive +Sample 188432150 108 2-Jul-09 2-Jul-09 12:18 PM A770J175-07 16 ACD Positive +Sample 188438419 104 16-Feb-10 16-Feb-10 9:59 AM K770K3VY-1918 17 ACD Positive +Sample 188487432 105 23-Feb-10 23-Feb-10 3:50 PM K770K3VY-1919 18 ACD Positive +Sample 188418894 106 23-Mar-10 23-Mar-10 12:08 AM K770K3VY-1920 19 ACD Positive +Sample 188487135 108 24-Jul-08 24-Jul-08 6:35 PM K770K3VY-1921 20 ACD Positive +Sample 188479179 108 12-Aug-08 12-Aug-08 6:23 PM K770K3VY-1922 21 ACD Positive +Sample 188441914 109 9-Sep-08 9-Sep-08 10:13 PM K770K3VY-1923 22 ACD Positive +Sample 188479872 109 18-Sep-08 18-Sep-08 9:52 AM K770K3VY-1924 23 ACD Positive +Sample 188479814 103 28-Aug-09 28-Aug-09 8:09 PM K770K3VY-1925 24 ACD Positive +Sample 188479836 104 4-Sep-09 4-Sep-09 8:34 PM K770K3VY-1926 25 ACD Positive +Sample 188438731 105 10-Sep-09 10-Sep-09 11:16 AM K770K3VY-1927 26 ACD Positive +Sample 188406876 106 8-Oct-09 8-Oct-09 2:26 AM K770K3VY-1928 27 ACD Positive +Sample 188421937 104 20-Aug-09 20-Aug-09 7:48 PM K770K3VY-1929 28 ACD Positive +Sample 188498302 105 27-Aug-09 27-Aug-09 10:19 PM K770K3VY-1930 29 ACD Positive +Sample 188479231 106 25-Sep-09 25-Sep-09 7:00 AM K770K3VY-1931 30 ACD Positive +Sample 188479136 107 4-Jun-09 4-Jun-09 4:40 AM K770K3VY-1932 31 ACD Positive +Sample 188432151 108 2-Jul-09 2-Jul-09 9:25 PM K770K3VY-1933 32 ACD Positive +Sample 188438420 104 17-Feb-10 17-Feb-10 11:32 PM K770K3VY-1934 33 ACD Positive +Sample 188487433 105 24-Feb-10 24-Feb-10 8:10 PM K770K3VY-1935 34 ACD Positive +Sample 188418895 106 24-Mar-10 24-Mar-10 1:52 PM K770K3VY-1936 35 ACD Positive +Sample 188487136 108 25-Jul-08 25-Jul-08 3:01 PM K770K3VY-1937 36 ACD Positive +Sample 188479180 108 13-Aug-08 13-Aug-08 10:33 PM K770K3VY-1938 37 ACD Positive +Sample 188441915 109 10-Sep-08 10-Sep-08 3:50 PM K770K3VY-1939 38 ACD Positive +Sample 188479873 109 19-Sep-08 19-Sep-08 10:40 PM K770K3VY-1940 39 ACD Positive +Sample 188479815 103 29-Aug-09 29-Aug-09 3:35 AM K770K3VY-1941 40 ACD Positive +Sample 188479837 104 5-Sep-09 5-Sep-09 5:26 AM K770K3VY-1942 41 ACD Positive +Sample 188438732 105 11-Sep-09 11-Sep-09 7:49 AM K770K3VY-1943 42 ACD Positive +Sample 188406877 106 9-Oct-09 9-Oct-09 1:18 PM K770K3VY-1944 43 ACD Positive +Sample 188421938 104 21-Aug-09 21-Aug-09 12:23 AM K770K3VY-1945 44 ACD Positive +Sample 188498303 105 28-Aug-09 28-Aug-09 11:11 PM K770K3VY-1946 45 ACD Positive +Sample 188479232 106 26-Sep-09 26-Sep-09 11:27 AM K770K3VY-1947 46 ACD Positive +Sample 188479137 107 5-Jun-09 5-Jun-09 1:37 AM K770K3VY-1948 47 ACD Positive +Sample 188432152 108 3-Jul-09 3-Jul-09 6:42 AM K770K3VY-1949 48 ACD Positive +Sample 188438421 104 18-Feb-10 18-Feb-10 9:55 AM K770K3VY-1950 49 ACD Positive +Sample 188487434 105 25-Feb-10 25-Feb-10 1:09 PM K770K3VY-1951 50 ACD Positive +Sample 188418896 106 25-Mar-10 25-Mar-10 2:22 PM K770K3VY-1952 51 ACD Positive +Sample 188487137 108 26-Jul-08 26-Jul-08 6:36 AM K770K3VY-1953 52 ACD Positive +Sample 188479181 108 14-Aug-08 14-Aug-08 4:21 PM K770K3VY-1954 53 ACD Positive +Sample 188441916 109 11-Sep-08 11-Sep-08 5:45 AM K770K3VY-1955 54 ACD Positive +Sample 188479874 109 20-Sep-08 20-Sep-08 7:07 AM K770K3VY-1956 55 ACD Positive +Sample 188479816 103 30-Aug-09 30-Aug-09 8:21 AM K770K3VY-1957 56 ACD Positive +Sample 188479838 104 6-Sep-09 6-Sep-09 8:08 PM K770K3VY-1958 57 ACD Positive +Sample 188438733 105 12-Sep-09 12-Sep-09 2:37 AM K770K3VY-1959 58 ACD Positive +Sample 188406878 106 10-Oct-09 10-Oct-09 11:16 AM K770K3VY-1960 59 ACD Positive +Sample 188421939 104 22-Aug-09 22-Aug-09 2:27 PM K770K3VY-1961 60 ACD Positive +Sample 188498304 105 29-Aug-09 29-Aug-09 11:05 PM K770K3VY-1962 61 ACD Positive +Sample 188479233 106 27-Sep-09 27-Sep-09 1:23 AM K770K3VY-1963 62 ACD Positive +Sample 188479138 107 6-Jun-09 6-Jun-09 4:37 AM K770K3VY-1964 63 ACD Positive +Sample 188432153 108 4-Jul-09 4-Jul-09 11:59 AM K770K3VY-1965 64 ACD Positive +Sample 188438422 104 19-Feb-10 19-Feb-10 9:01 AM K770K3VY-1966 65 ACD Positive +Sample 188487435 105 26-Feb-10 26-Feb-10 5:59 AM K770K3VY-1967 66 ACD Positive +Sample 188418897 106 26-Mar-10 26-Mar-10 1:05 PM K770K3VY-1968 67 ACD Positive +Sample 188487138 108 27-Jul-08 27-Jul-08 3:11 AM K770K3VY-1969 68 ACD Positive +Sample 188479182 108 15-Aug-08 15-Aug-08 8:30 AM K770K3VY-1970 69 ACD Positive +Sample 188441917 109 12-Sep-08 12-Sep-08 4:33 AM K770K3VY-1971 70 ACD Positive +Sample 188479875 109 21-Sep-08 21-Sep-08 12:35 PM K770K3VY-1972 71 ACD Positive +Sample 188479817 103 31-Aug-09 31-Aug-09 12:25 AM K770K3VY-1973 72 ACD Positive +Sample 188479839 104 7-Sep-09 7-Sep-09 9:37 AM K770K3VY-1974 73 ACD Positive +Sample 188438734 105 13-Sep-09 13-Sep-09 5:03 PM K770K3VY-1975 74 ACD Positive +Sample 188406879 106 11-Oct-09 11-Oct-09 4:23 PM K770K3VY-1976 75 ACD Positive +Sample 188421940 104 23-Aug-09 23-Aug-09 1:51 PM K770K3VY-1977 76 ACD Positive +Sample 188498305 105 30-Aug-09 30-Aug-09 5:47 AM K770K3VY-1978 77 ACD Positive +Sample 188479234 106 28-Sep-09 28-Sep-09 11:21 AM K770K3VY-1979 78 ACD Positive +Sample 188479139 107 7-Jun-09 7-Jun-09 5:53 PM K770K3VY-1980 79 ACD Positive +Sample 188432154 108 5-Jul-09 5-Jul-09 1:58 PM K770K3VY-1981 80 ACD Positive +Sample 188438423 104 20-Feb-10 20-Feb-10 9:19 PM K770K3VY-1982 81 ACD Positive +Sample 188487436 105 27-Feb-10 27-Feb-10 10:33 AM K770K3VY-1983 82 ACD Positive +Sample 188418898 106 27-Mar-10 27-Mar-10 9:28 AM K770K3VY-1984 83 ACD Positive +Sample 188487139 108 28-Jul-08 28-Jul-08 9:38 AM K770K3VY-1985 84 ACD Positive +Sample 188479183 108 16-Aug-08 16-Aug-08 7:22 PM K770K3VY-1986 85 ACD Positive +Sample 188441918 109 13-Sep-08 13-Sep-08 12:43 AM K770K3VY-1987 86 ACD Positive +Sample 188479876 109 22-Sep-08 22-Sep-08 5:27 PM K770K3VY-1988 87 ACD Positive +Sample 188479818 103 1-Sep-09 1-Sep-09 7:00 PM K770K3VY-1989 88 ACD Positive +Sample 188479840 104 8-Sep-09 8-Sep-09 11:12 PM K770K3VY-1990 89 ACD Positive +Sample 188438735 105 14-Sep-09 14-Sep-09 12:04 AM K770K3VY-1991 90 ACD Positive +Sample 188406880 106 12-Oct-09 12-Oct-09 11:38 PM K770K3VY-1992 91 ACD Positive +Sample 188421941 104 24-Aug-09 24-Aug-09 12:27 PM K770K3VY-1993 92 ACD Positive +Sample 188498306 105 31-Aug-09 31-Aug-09 5:29 AM K770K3VY-1994 93 ACD Positive +Sample 188479235 106 29-Sep-09 29-Sep-09 1:22 PM K770K3VY-1995 94 ACD Positive +Sample 188479140 107 8-Jun-09 8-Jun-09 10:57 PM K770K3VY-1996 95 ACD Positive +Sample 188432155 108 6-Jul-09 6-Jul-09 12:36 AM K770K3VY-1997 96 ACD Positive +Sample 188438424 104 21-Feb-10 21-Feb-10 4:32 AM K770K3VY-1998 97 ACD Positive +Sample 188487437 105 28-Feb-10 28-Feb-10 3:17 AM K770K3VY-1999 98 ACD Positive +Sample 188418899 106 28-Mar-10 28-Mar-10 5:01 AM K770K3VY-19100 99 ACD Positive +Sample 188487140 108 29-Jul-08 29-Jul-08 1:39 PM K770K3VY-19101 100 ACD Positive +Sample 188479184 108 17-Aug-08 17-Aug-08 9:07 PM K770K3VY-19102 101 ACD Positive +Sample 188441919 109 14-Sep-08 14-Sep-08 4:16 PM K770K3VY-19103 102 ACD Positive +Sample 188479877 109 23-Sep-08 23-Sep-08 8:33 PM K770K3VY-19104 103 ACD Positive +Sample 188479819 103 2-Sep-09 2-Sep-09 5:40 PM K770K3VY-19105 104 ACD Positive +Sample 188479841 104 9-Sep-09 9-Sep-09 12:52 PM K770K3VY-19106 105 ACD Positive +Sample 188438736 105 15-Sep-09 15-Sep-09 4:23 AM K770K3VY-19107 106 ACD Positive +Sample 188406881 106 13-Oct-09 13-Oct-09 9:44 PM K770K3VY-19108 107 ACD Positive +Sample 188421942 104 25-Aug-09 25-Aug-09 4:12 PM K770K3VY-19109 108 ACD Positive +Sample 188498307 105 1-Sep-09 1-Sep-09 10:17 AM K770K3VY-19110 109 ACD Positive +Sample 188479236 106 30-Sep-09 30-Sep-09 1:50 AM K770K3VY-19111 110 ACD Positive +Sample 188479141 107 9-Jun-09 9-Jun-09 1:16 PM K770K3VY-19112 111 ACD Positive +Sample 188432156 108 7-Jul-09 7-Jul-09 6:59 AM K770K3VY-19113 112 ACD Positive +Sample 188438425 104 22-Feb-10 22-Feb-10 11:28 PM K770K3VY-19114 113 ACD Positive +Sample 188487438 105 1-Mar-10 1-Mar-10 1:51 AM K770K3VY-19115 114 ACD Positive +Sample 188418900 106 29-Mar-10 29-Mar-10 1:16 AM K770K3VY-19116 115 ACD Positive +Sample 188487141 108 30-Jul-08 30-Jul-08 5:33 PM K770K3VY-19117 116 ACD Positive +Sample 188479185 108 18-Aug-08 18-Aug-08 11:27 AM K770K3VY-19118 117 ACD Positive +Sample 188441920 109 15-Sep-08 15-Sep-08 8:39 PM K770K3VY-19119 118 ACD Positive +Sample 188479878 109 24-Sep-08 24-Sep-08 5:36 AM K770K3VY-19120 119 ACD Positive +Sample 188479820 103 3-Sep-09 3-Sep-09 3:29 AM K770K3VY-19121 120 ACD Positive +Sample 188479842 104 10-Sep-09 10-Sep-09 5:55 PM K770K3VY-19122 121 ACD Positive +Sample 188438737 105 16-Sep-09 16-Sep-09 6:02 AM K770K3VY-19123 122 ACD Positive +Sample 188406882 106 14-Oct-09 14-Oct-09 12:25 AM K770K3VY-19124 123 ACD Positive +Sample 188421943 104 26-Aug-09 26-Aug-09 12:32 AM K770K3VY-19125 124 ACD Positive +Sample 188498308 105 2-Sep-09 2-Sep-09 5:44 PM K770K3VY-19126 125 ACD Positive +Sample 188479237 106 1-Oct-09 1-Oct-09 10:49 AM K770K3VY-19127 126 ACD Positive +Sample 188479142 107 10-Jun-09 10-Jun-09 12:35 AM K770K3VY-19128 127 ACD Positive +Sample 188432157 108 8-Jul-09 8-Jul-09 7:02 PM K770K3VY-19129 128 ACD Positive +Sample 188438426 104 23-Feb-10 23-Feb-10 11:50 AM K770K3VY-19130 129 ACD Positive +Sample 188487439 105 2-Mar-10 2-Mar-10 4:33 PM K770K3VY-19131 130 ACD Positive +Sample 188418901 106 30-Mar-10 30-Mar-10 2:10 AM K770K3VY-19132 131 ACD Positive +Sample 188487142 108 31-Jul-08 31-Jul-08 5:23 PM K770K3VY-19133 132 ACD Positive +Sample 188479186 108 19-Aug-08 19-Aug-08 4:16 PM K770K3VY-19134 133 ACD Positive +Sample 188441921 109 16-Sep-08 16-Sep-08 10:00 AM K770K3VY-19135 134 ACD Positive +Sample 188479879 109 25-Sep-08 25-Sep-08 3:53 AM K770K3VY-19136 135 ACD Positive +Sample 188479821 103 4-Sep-09 4-Sep-09 11:32 PM K770K3VY-19137 136 ACD Positive +Sample 188479843 104 11-Sep-09 11-Sep-09 6:06 AM K770K3VY-19138 137 ACD Positive +Sample 188438738 105 17-Sep-09 17-Sep-09 7:22 AM K770K3VY-19139 138 ACD Positive +Sample 188406883 106 15-Oct-09 15-Oct-09 4:43 AM K770K3VY-19140 139 ACD Positive +Sample 188421944 104 27-Aug-09 27-Aug-09 9:03 AM K770K3VY-19141 140 ACD Positive +Sample 188498309 105 3-Sep-09 3-Sep-09 7:12 PM K770K3VY-19142 141 ACD Positive +Sample 188479238 106 2-Oct-09 2-Oct-09 2:36 AM K770K3VY-19143 142 ACD Positive +Sample 188479143 107 11-Jun-09 11-Jun-09 3:45 PM K770K3VY-19144 143 ACD Positive +Sample 188432158 108 9-Jul-09 9-Jul-09 2:29 PM K770K3VY-19145 144 ACD Positive +Sample 188438427 104 24-Feb-10 24-Feb-10 7:36 PM K770K3VY-19146 145 ACD Positive +Sample 188487440 105 3-Mar-10 3-Mar-10 12:37 PM K770K3VY-19147 146 ACD Positive +Sample 188418902 106 31-Mar-10 31-Mar-10 4:26 PM K770K3VY-19148 147 ACD Positive +Sample 188487143 108 1-Aug-08 1-Aug-08 1:08 AM K770K3VY-19149 148 ACD Positive +Sample 188479187 108 20-Aug-08 20-Aug-08 7:27 AM K770K3VY-19150 149 ACD Positive +Sample 188441922 109 17-Sep-08 17-Sep-08 7:08 AM K770K3VY-19151 150 ACD Positive +Sample 188479880 109 26-Sep-08 26-Sep-08 1:42 AM K770K3VY-19152 151 ACD Positive +Sample 188479822 103 5-Sep-09 5-Sep-09 7:29 PM K770K3VY-19153 152 ACD Positive +Sample 188479844 104 12-Sep-09 12-Sep-09 8:35 AM K770K3VY-19154 153 ACD Positive +Sample 188438739 105 18-Sep-09 18-Sep-09 5:51 AM K770K3VY-19155 154 ACD Positive +Sample 188406884 106 16-Oct-09 16-Oct-09 8:19 PM K770K3VY-19156 155 ACD Positive +Sample 188421945 104 28-Aug-09 28-Aug-09 4:25 PM K770K3VY-19157 156 ACD Positive +Sample 188498310 105 4-Sep-09 4-Sep-09 7:26 AM K770K3VY-19158 157 ACD Positive +Sample 188479239 106 3-Oct-09 3-Oct-09 3:30 PM K770K3VY-19159 158 ACD Positive +Sample 188479144 107 12-Jun-09 12-Jun-09 7:16 PM K770K3VY-19160 159 ACD Positive +Sample 188432159 108 10-Jul-09 10-Jul-09 7:46 AM K770K3VY-19161 160 ACD Positive +Sample 188438428 104 25-Feb-10 25-Feb-10 1:10 PM K770K3VY-19162 161 ACD Positive +Sample 188487441 105 4-Mar-10 4-Mar-10 9:29 PM K770K3VY-19163 162 ACD Positive +Sample 188418903 106 1-Apr-10 1-Apr-10 2:44 PM K770K3VY-19164 163 ACD Positive +Sample 188487144 108 2-Aug-08 2-Aug-08 10:43 AM K770K3VY-19165 164 ACD Positive +Sample 188479188 108 21-Aug-08 21-Aug-08 10:02 AM K770K3VY-19166 165 ACD Positive +Sample 188441923 109 18-Sep-08 18-Sep-08 10:41 AM K770K3VY-19167 166 ACD Positive +Sample 188479881 109 27-Sep-08 27-Sep-08 11:22 PM K770K3VY-19168 167 ACD Positive +Sample 188479823 103 6-Sep-09 6-Sep-09 4:25 PM K770K3VY-19169 168 ACD Positive +Sample 188479845 104 13-Sep-09 13-Sep-09 3:33 PM K770K3VY-19170 169 ACD Positive +Sample 188438740 105 19-Sep-09 19-Sep-09 3:05 PM K770K3VY-19171 170 ACD Positive +Sample 188406885 106 17-Oct-09 17-Oct-09 12:19 PM K770K3VY-19172 171 ACD Positive +Sample 188421946 104 29-Aug-09 29-Aug-09 1:03 PM K770K3VY-19173 172 ACD Positive +Sample 188498311 105 5-Sep-09 5-Sep-09 10:44 AM K770K3VY-19174 173 ACD Positive +Sample 188479240 106 4-Oct-09 4-Oct-09 10:17 AM K770K3VY-19175 174 ACD Positive +Sample 188479145 107 13-Jun-09 13-Jun-09 10:10 PM K770K3VY-19176 175 ACD Positive +Sample 188432160 108 11-Jul-09 11-Jul-09 8:15 PM K770K3VY-19177 176 ACD Positive +Sample 188438429 104 26-Feb-10 26-Feb-10 10:09 PM K770K3VY-19178 177 ACD Positive +Sample 188487442 105 5-Mar-10 5-Mar-10 7:17 PM K770K3VY-19179 178 ACD Positive +Sample 188418904 106 2-Apr-10 2-Apr-10 11:08 AM K770K3VY-19180 179 ACD Positive +Sample 188487145 108 3-Aug-08 3-Aug-08 10:36 AM K770K3VY-19181 180 ACD Positive +Sample 188479189 108 22-Aug-08 22-Aug-08 3:01 AM K770K3VY-19182 181 ACD Positive +Sample 188441924 109 19-Sep-08 19-Sep-08 3:25 AM K770K3VY-19183 182 ACD Positive +Sample 188479882 109 28-Sep-08 28-Sep-08 7:48 AM K770K3VY-19184 183 ACD Positive +Sample 188479824 103 7-Sep-09 7-Sep-09 11:19 AM K770K3VY-19185 184 ACD Positive +Sample 188479846 104 14-Sep-09 14-Sep-09 9:43 PM K770K3VY-19186 185 ACD Positive +Sample 188438741 105 20-Sep-09 20-Sep-09 9:53 PM K770K3VY-19187 186 ACD Positive +Sample 188406886 106 18-Oct-09 18-Oct-09 10:06 PM K770K3VY-19188 187 ACD Positive +Sample 188421947 104 30-Aug-09 30-Aug-09 9:01 AM K770K3VY-19189 188 ACD Positive +Sample 188498312 105 6-Sep-09 6-Sep-09 3:34 PM K770K3VY-19190 189 ACD Positive +Sample 188479241 106 5-Oct-09 5-Oct-09 7:53 PM K770K3VY-19191 190 ACD Positive +Sample 188479146 107 14-Jun-09 14-Jun-09 12:40 PM K770K3VY-19192 191 ACD Positive +Sample 188432161 108 12-Jul-09 12-Jul-09 8:22 PM K770K3VY-19193 192 ACD Positive +Sample 188438430 104 27-Feb-10 27-Feb-10 4:02 PM K770K3VY-19194 193 ACD Positive +Sample 188487443 105 6-Mar-10 6-Mar-10 3:03 PM K770K3VY-19195 194 ACD Positive +Sample 188418905 106 3-Apr-10 3-Apr-10 10:09 AM K770K3VY-19196 195 ACD Positive +Sample 188487146 108 4-Aug-08 4-Aug-08 8:03 AM K770K3VY-19197 196 ACD Positive +Sample 188479190 108 23-Aug-08 23-Aug-08 2:05 PM K770K3VY-19198 197 ACD Positive +Sample 188441925 109 20-Sep-08 20-Sep-08 1:40 AM K770K3VY-19199 198 ACD Positive +Sample 188479883 109 29-Sep-08 29-Sep-08 10:50 AM K770K3VY-19200 199 ACD Positive +Sample 188479825 103 8-Sep-09 8-Sep-09 1:15 AM K770K3VY-19201 200 ACD Positive +Sample 188487135 104 27-Feb-10 27-Feb-10 3:03 AM K770K3VY-19202 text ACD Positive \ No newline at end of file diff --git a/src/org/labkey/test/tests/GpatAssayTest.java b/src/org/labkey/test/tests/GpatAssayTest.java index 4da544156f..c4b20ea966 100644 --- a/src/org/labkey/test/tests/GpatAssayTest.java +++ b/src/org/labkey/test/tests/GpatAssayTest.java @@ -32,6 +32,7 @@ import org.labkey.test.components.domain.DomainFormPanel; import org.labkey.test.pages.ReactAssayDesignerPage; import org.labkey.test.pages.assay.AssayBeginPage; +import org.labkey.test.params.FieldDefinition; import org.labkey.test.util.DataRegionTable; import org.labkey.test.util.LogMethod; import org.labkey.test.util.LoggedParam; @@ -54,8 +55,6 @@ public class GpatAssayTest extends BaseWebDriverTest private static final File GPAT_ASSAY_XLSX = TestFileUtils.getSampleData("GPAT/trial01a.xlsx"); private static final File GPAT_ASSAY_TSV = TestFileUtils.getSampleData("GPAT/trial02.tsv"); private static final File GPAT_ASSAY_FNA_1 = TestFileUtils.getSampleData("GPAT/trial03.fna"); - private static final File GPAT_ASSAY_FNA_2 = TestFileUtils.getSampleData("GPAT/trial04.fna"); - private static final File GPAT_ASSAY_FNA_3 = TestFileUtils.getSampleData("GPAT/trial05.fna"); private static final String ASSAY_NAME_XLS = "XLS Assay " + TRICKY_CHARACTERS; private static final String ASSAY_NAME_XLSX = "XLSX Assay"; private static final String ASSAY_NAME_TSV = "TSV Assay"; @@ -99,7 +98,7 @@ public void doCleanup(boolean afterTest) throws TestTimeoutException public void testSteps() { ReactAssayDesignerPage assayDesignerPage = startCreateGpatAssay(GPAT_ASSAY_XLS, ASSAY_NAME_XLS); - DomainFormPanel results = setAssayResultsProperties(assayDesignerPage, 10); + DomainFormPanel results = setAssayResultsProperties(assayDesignerPage, 12); results.removeField("Role"); assayDesignerPage.clickFinish(); clickButton("Next", defaultWaitForPage); @@ -128,7 +127,7 @@ public void testSteps() log("Import XLSX GPAT assay"); assayDesignerPage = startCreateGpatAssay(GPAT_ASSAY_XLSX, ASSAY_NAME_XLSX); - setAssayResultsProperties(assayDesignerPage, 9); + setAssayResultsProperties(assayDesignerPage, 11); assayDesignerPage.clickFinish(); if (isElementPresent(Locator.tagContainingText("p", "The files listed below have been created by another run"))) clickButton("OK", defaultWaitForPage); @@ -150,6 +149,16 @@ public void testSteps() .setLabel("Result") .setImportAliases("Score") .setRequiredField(true); + + // Set the date-only field type. + results.getField("DateOnly") + .setType(FieldDefinition.ColumnType.Date, false); + + // Using a tsv abd the data-pipeline to define the results fields sets the time-only field to a type of Text. + // A field of type Text cannot be converted to a Time type. The only way around this is to remove the field and + // add it back as a time-only type. + results.removeField("TimeOnly", false); + results.addField(new FieldDefinition("TimeOnly", FieldDefinition.ColumnType.Time)); assayDesignerPage.clickFinish(); clickButton("Next", defaultWaitForPage); @@ -175,6 +184,14 @@ private DomainFormPanel setAssayResultsProperties(ReactAssayDesignerPage assayDe results.getFieldCountMessage()); results.getField("Score").setRequiredField(true); results.getField("Primary").setMissingValuesEnabled(true); + + // Set the date-only and time-only result fields to the proper type. + if(results.fieldNames().contains("DateOnly") && results.fieldNames().contains("TimeOnly")) + { + results.getField("DateOnly").setType(FieldDefinition.ColumnType.Date, false); + results.getField("TimeOnly").setType(FieldDefinition.ColumnType.Time, false); + } + return results; } diff --git a/src/org/labkey/test/tests/ParsingPatternForDateTest.java b/src/org/labkey/test/tests/ParsingPatternForDateTest.java index cb5fa50fbc..0ed54dd164 100644 --- a/src/org/labkey/test/tests/ParsingPatternForDateTest.java +++ b/src/org/labkey/test/tests/ParsingPatternForDateTest.java @@ -21,9 +21,13 @@ import org.labkey.test.util.StudyHelper; import org.labkey.test.util.TestDataGenerator; +import java.io.File; import java.io.IOException; +import java.text.SimpleDateFormat; import java.util.ArrayList; import java.util.Arrays; +import java.util.Calendar; +import java.util.Date; import java.util.HashMap; import java.util.List; import java.util.Map; @@ -31,7 +35,10 @@ @Category({Daily.class}) public class ParsingPatternForDateTest extends BaseWebDriverTest { - private static final String TEST_LIST = "Input Format List"; + + private static final String LIST_SCHEMA = "lists"; + private static final String TEST_PARSING = "Additional Parsing Format List"; + private static final String TEST_MODE = "Date Parsing Mode List"; private static final String COL_NAME = "name"; private static final String COL_DATETIME = "dateTimeCol"; @@ -101,7 +108,7 @@ public List getAssociatedModules() @Test public void testSiteAdditionalParsingPatternDateAndTime() throws IOException, CommandException { - createList(); + createList(TEST_PARSING); log("Setting the additional parsing patterns for the site."); testParsingPatternsList(true); } @@ -109,22 +116,69 @@ public void testSiteAdditionalParsingPatternDateAndTime() throws IOException, Co @Test public void testProjectAdditionalParsingPatternDateAndTime() throws IOException, CommandException { - createList(); + createList(TEST_PARSING); log("Set the additional parsing patterns for the project."); testParsingPatternsList(false); } - private void createList() throws IOException, CommandException + @Test + public void testNonUSDateParsingMode() throws IOException, CommandException + { + createList(TEST_MODE); + + String dateTimePattern = "ddMMMyyyy:HH:mm:ss"; + String datePattern = "mm/dd/yy"; + String timePattern = "hh:mm a"; + + log("Use 'Non-U.S. date parsing (DMY)'."); + setSiteAdditionalParsingPatterns(dateTimePattern, datePattern, timePattern, false); +// setProjectAdditionalParsingPatterns(dateTimePattern, datePattern, timePattern); + + String bulkData; + bulkData = String.format("%s\t%s\t%s\t%s\n", COL_NAME, COL_DATETIME, COL_DATE, COL_TIME) + + "A\t23/12/24 14:45\t23/12/24\t14:45\n" + + "B\t19/11/99 9:32:06.001\t19/11/99\t9:32:06.001\n" + + "C\t2/3/1972 10:45 pm\t2/3/1972\t10:45 pm\n" + + "D\t3-2-05 00:00\t3-2-05\t00:00\n" + + "E\t19July1999 19:32:06\t19/7/99\t19:32:06\n"; + + List expectedDateTimeCol = List.of("2024-12-23 14:45", "1999-11-19 09:32", "1972-03-02 22:45", "2005-02-03 00:00", "1999-07-19 19:32"); + List expectedDateCol = List.of("2024-12-23", "1999-11-19", "1972-03-02", "2005-02-03", "1999-07-19"); + List expectedTimeCol = List.of("14:45:00", "09:32:06", "22:45:00", "00:00:00", "19:32:06"); + + goToProjectHome(); + clickAndWait(Locator.linkWithText(TEST_MODE)); + DataRegionTable listTable = new DataRegionTable("query", getDriver()); + listTable.clickImportBulkData() + .setText(bulkData); + clickButton("Submit"); + + goToProjectHome(); + clickAndWait(Locator.linkWithText(TEST_MODE)); + listTable = new DataRegionTable("query", getDriver()); + + checker().verifyEquals("Values in " + COL_DATETIME + " are not as expected.", + expectedDateTimeCol, listTable.getColumnDataAsText(COL_DATETIME)); + + checker().verifyEquals("Values in " + COL_DATE + " are not as expected.", + expectedDateCol, listTable.getColumnDataAsText(COL_DATE)); + + checker().verifyEquals("Values in " + COL_TIME + " are not as expected.", + expectedTimeCol, listTable.getColumnDataAsText(COL_TIME)); + + } + + private void createList(String listName) throws IOException, CommandException { // Delete the list if it already exists. goToProjectHome(); - if(goToManageLists().getGrid().getListNames().contains(TEST_LIST)) + if(goToManageLists().getGrid().getListNames().contains(listName)) { - _listHelper.goToList(TEST_LIST); + _listHelper.goToList(listName); _listHelper.deleteList(); } - TestDataGenerator dgen = new IntListDefinition(TEST_LIST, "id") + new IntListDefinition(listName, "id") .setFields(List.of( new FieldDefinition(COL_NAME, FieldDefinition.ColumnType.String), new FieldDefinition(COL_DATETIME, FieldDefinition.ColumnType.DateAndTime), @@ -132,25 +186,26 @@ private void createList() throws IOException, CommandException new FieldDefinition(COL_TIME, FieldDefinition.ColumnType.Time))) .create(createDefaultConnection(), getProjectName()); - // Prepopulate the list with one item. - dgen.addCustomRow(Map.of(COL_NAME, "First", COL_DATETIME, "05/10/2020", "date", "02/05/2024", "time", "16:43:32")); - dgen.insertRows(createDefaultConnection(), dgen.getRows()); } - private void testParsingPatternsList(boolean changeSiteSettings) + private void testParsingPatternsList(boolean changeSiteSettings) throws IOException, CommandException { + // Pre-populate the list with one item that will be updated. + TestDataGenerator dataGenerator = new TestDataGenerator(LIST_SCHEMA, TEST_PARSING, getProjectName()); + dataGenerator.addCustomRow(Map.of(COL_NAME, "First", COL_DATETIME, "05/10/2020", COL_DATE, "02/05/2024", COL_TIME, "16:43:32")); + dataGenerator.insertRows(createDefaultConnection(), dataGenerator.getRows()); + String dateTimePattern = "ddMMMyyyy:HH:mm:ss"; String datePattern = "mm/dd/yy"; String timePattern = "hh:mm a"; if(changeSiteSettings) { - setSiteAdditionalParsingPatterns(dateTimePattern, datePattern, timePattern); + setSiteAdditionalParsingPatterns(dateTimePattern, datePattern, timePattern, true); } else { - goToProjectHome(); setProjectAdditionalParsingPatterns(dateTimePattern, datePattern, timePattern); } @@ -158,7 +213,7 @@ private void testParsingPatternsList(boolean changeSiteSettings) log("Update a row with values in the additional parsing format."); goToProjectHome(); - clickAndWait(Locator.linkWithText(TEST_LIST)); + clickAndWait(Locator.linkWithText(TEST_PARSING)); DataRegionTable listTable = new DataRegionTable("query", getDriver()); listTable.clickEditRow(0); @@ -199,22 +254,18 @@ private void testParsingPatternsList(boolean changeSiteSettings) log("Bulk import with values in additional parsing patterns."); listTable.clearAllFilters(); - listTable.clickImportBulkData(); - click(Locator.tagContainingText("h3", "Upload file")); - log("Import a xlsx file where date & time values are numbers."); - setFormElement(Locator.tagWithName("input", "file"), TestFileUtils.getSampleData("DateParsing/BulkImportDateParsing.xlsx")); + listTable.clickImportBulkData() + .setFile(TestFileUtils.getSampleData("DateParsing/BulkImportDateParsing.xlsx")); clickButton("Submit"); - listTable.clickImportBulkData(); - click(Locator.tagContainingText("h3", "Upload file")); - log("Import a xlsx file where date & time values are text."); - setFormElement(Locator.tagWithName("input", "file"), TestFileUtils.getSampleData("DateParsing/BulkImportDateParsing_Text.xlsx")); + listTable.clickImportBulkData() + .setFile(TestFileUtils.getSampleData("DateParsing/BulkImportDateParsing_Text.xlsx")); clickButton("Submit"); goToProjectHome(); - clickAndWait(Locator.linkWithText(TEST_LIST)); + clickAndWait(Locator.linkWithText(TEST_PARSING)); listTable = new DataRegionTable("query", getDriver()); expectedTableValues.add(Map.of( @@ -277,11 +328,10 @@ private void testParsingPatternsPipelineJobs(boolean changeSiteSettings) if(changeSiteSettings) { - setSiteAdditionalParsingPatterns(dateTimePattern, datePattern, timePattern); + setSiteAdditionalParsingPatterns(dateTimePattern, datePattern, timePattern, true); } else { - goToProjectHome(); setProjectAdditionalParsingPatterns(dateTimePattern, datePattern, timePattern); } @@ -305,15 +355,18 @@ private void testParsingPatternsPipelineJobs(boolean changeSiteSettings) , table.getColumnDataAsText(COL_TIME)); } - private void setSiteAdditionalParsingPatterns(String dateTimePattern, String datePattern, String timePattern) + private void setSiteAdditionalParsingPatterns(String dateTimePattern, String datePattern, String timePattern, boolean useUSMode) { LookAndFeelSettingsPage lookAndFeelSettingsPage = LookAndFeelSettingsPage.beginAt(this); + + lookAndFeelSettingsPage.setDateParsingMode(useUSMode); + setAdditionalParsingPatterns(lookAndFeelSettingsPage, dateTimePattern, datePattern, timePattern); } private void setProjectAdditionalParsingPatterns(String dateTimePattern, String datePattern, String timePattern) { - ProjectSettingsPage projectSettingsPage = ProjectSettingsPage.beginAt(this); + ProjectSettingsPage projectSettingsPage = ProjectSettingsPage.beginAt(this, getProjectName()); setAdditionalParsingPatterns(projectSettingsPage, dateTimePattern, datePattern, timePattern); } diff --git a/src/org/labkey/test/tests/list/ListDateAndTimeTest.java b/src/org/labkey/test/tests/list/ListDateAndTimeTest.java index c13c70d42b..bfb0166a16 100644 --- a/src/org/labkey/test/tests/list/ListDateAndTimeTest.java +++ b/src/org/labkey/test/tests/list/ListDateAndTimeTest.java @@ -543,12 +543,12 @@ else if(date.equals(dateUseTimeOnly)) log("Sort the time-only field in ascending order."); expectedKeyColOrder = new ArrayList<>(); expectedKeyColOrder.add("3"); // 2024-01-01 00:00:00 - expectedKeyColOrder.add("2"); // (some future date) 14:23:54 expectedKeyColOrder.add("1"); // 1950-10-12 08:00:01 expectedKeyColOrder.add("7"); // 1995-03-03 09:10:10 expectedKeyColOrder.add("4"); // 1992-03-03 10:10:10 expectedKeyColOrder.add("5"); // 1992-03-03 10:10:10 expectedKeyColOrder.add("6"); // 1992-03-03 10:11:34 + expectedKeyColOrder.add("2"); // (some future date) 14:23:54 expectedKeyColOrder.add("11"); // (empty) 14:59:25 expectedKeyColOrder.add("9"); // 2002-09-15 17:45:20 expectedKeyColOrder.add("8"); // 2024-02-29 18:32:00 @@ -567,12 +567,12 @@ else if(date.equals(dateUseTimeOnly)) expectedKeyColOrder.add("8"); expectedKeyColOrder.add("9"); expectedKeyColOrder.add("11"); + expectedKeyColOrder.add("2"); expectedKeyColOrder.add("6"); expectedKeyColOrder.add("4"); expectedKeyColOrder.add("5"); expectedKeyColOrder.add("7"); expectedKeyColOrder.add("1"); - expectedKeyColOrder.add("2"); expectedKeyColOrder.add("3"); table.setSort(timeCol, SortDirection.DESC); @@ -823,6 +823,7 @@ else if(date.equals(dateUseTimeOnlyKey11)) log(String.format("Filter the time-only field greater than '%s'.", filterValue01)); expectedKeyCol = new ArrayList<>(); + expectedKeyCol.add("2"); // (some future date) 14:23:54 expectedKeyCol.add("8"); // 2024-02-29 18:32:00 expectedKeyCol.add("9"); // 2002-09-15 17:45:20 expectedKeyCol.add("11"); // (empty) 14:59:25 @@ -848,6 +849,7 @@ else if(date.equals(dateUseTimeOnlyKey11)) filterValue01, filterValue02)); expectedKeyCol = new ArrayList<>(); + expectedKeyCol.add("2"); // (some future date) 14:23:54 expectedKeyCol.add("4"); // 1992-03-03 10:10:10 expectedKeyCol.add("5"); // 1992-03-03 10:10:10 expectedKeyCol.add("6"); // 1992-03-03 10:11:34