(append_only_1, append_only_2, append_only_3)
| 380 | @pytest.mark.parametrize("append_only_2", [True, False]) |
| 381 | @pytest.mark.parametrize("append_only_3", [True, False]) |
| 382 | def test_restrict_2(append_only_1, append_only_2, append_only_3): |
| 383 | class Schema1(pw.Schema): |
| 384 | a: int = pw.column_definition(append_only=append_only_1) |
| 385 | b: int = pw.column_definition(append_only=append_only_2) |
| 386 | |
| 387 | class Schema2(pw.Schema, append_only=append_only_3): |
| 388 | c: int |
| 389 | |
| 390 | table_1 = table_from_datasource(TestDataSource(schema=Schema1)) |
| 391 | table_2 = table_from_datasource(TestDataSource(schema=Schema2)) |
| 392 | pw.universes.promise_is_subset_of(table_2, table_1) |
| 393 | result = table_1.restrict(table_2) |
| 394 | |
| 395 | assert result._id_column.properties.append_only == ( |
| 396 | (append_only_1 or append_only_2) and append_only_3 |
| 397 | ) |
| 398 | assert result.a._column.properties.append_only == (append_only_1 and append_only_3) |
| 399 | assert result.b._column.properties.append_only == (append_only_2 and append_only_3) |
| 400 | |
| 401 | |
| 402 | @pytest.mark.parametrize("append_only_1", [True, False]) |
nothing calls this directly
no test coverage detected