Scénario de test & Cas d'usage
Carga, guardado y gestión de tablas en memoria.
Descubrir todas las acciones de tableCreación de una tabla de sensores muy simple para las pruebas.
| 1 | DATA casuser.SENSOR_DATA; |
| 2 | INPUT SensorID $ Reading; |
| 3 | DATALINES; |
| 4 | TEMP01 25.5 |
| 5 | HUMID01 60.1 |
| 6 | ; |
| 7 | RUN; |
| 1 | PROC CAS; |
| 2 | TABLE.attribute / |
| 3 | task='ADD', |
| 4 | caslib='casuser', |
| 5 | name='SENSOR_DATA', |
| 6 | attributes={{key='Status', value='Active'}}; |
| 7 | RUN; QUIT; /* Se espera un error en el log */ |
| 1 | PROC CAS; |
| 2 | TABLE.attribute / |
| 3 | task='ADD', |
| 4 | caslib='casuser', |
| 5 | name='SENSOR_DATA', |
| 6 | SET='Diagnostics', |
| 7 | attributes={{key='Unit', column='NonExistentColumn', value='Celsius'}}; |
| 8 | RUN; QUIT; /* Se espera un error o advertencia */ |
| 1 | PROC CAS; |
| 2 | TABLE.attribute / |
| 3 | task='ADD', |
| 4 | caslib='casuser', |
| 5 | name='SENSOR_DATA', |
| 6 | SET='MixedTypes', |
| 7 | attributes={ |
| 8 | {key='DeviceStatus', value='Online'}, |
| 9 | {key='CalibrationCycle', value=180}, |
| 10 | {key='MaxThreshold', value=99.9} |
| 11 | }; |
| 12 | RUN; QUIT; |
| 1 | PROC CAS; |
| 2 | TABLE.attribute / |
| 3 | task='EXPORT', |
| 4 | caslib='casuser', |
| 5 | name='SENSOR_DATA', |
| 6 | SET='MixedTypes', |
| 7 | casOut={name='MIXED_TYPES_VERIFY', caslib='casuser', replace=true}; |
| 8 | RUN; |
| 9 | TABLE.columnInfo / TABLE='MIXED_TYPES_VERIFY'; |
| 10 | RUN; QUIT; |
| 1 | PROC CAS; |
| 2 | TABLE.attribute / |
| 3 | task='DROP', |
| 4 | caslib='casuser', |
| 5 | name='SENSOR_DATA', |
| 6 | SET='MixedTypes'; |
| 7 | RUN; QUIT; |
La etapa 1 y 2 deben fallar, registrando errores claros en el log de SAS que indiquen la ausencia del parámetro 'set' y la referencia a una columna inexistente. La etapa 3 debe tener éxito. La etapa 4 debe mostrar que la tabla exportada 'MIXED_TYPES_VERIFY' tiene columnas con los tipos de datos correctos para los valores de los atributos. La etapa 5 debe ejecutarse correctamente, eliminando los metadatos. El escenario valida el manejo de errores y la flexibilidad de tipos de la acción.