| 430 | |
| 431 | |
| 432 | def test_siblings(simple_box): |
| 433 | |
| 434 | f = simple_box.face("<Z") |
| 435 | |
| 436 | siblings_1 = f.siblings(simple_box, "Edge", 1) |
| 437 | assert siblings_1.size() == 4 |
| 438 | |
| 439 | siblings_12 = f.siblings(simple_box, "Edge", (1, 2)) |
| 440 | assert siblings_12.size() == 5 |
| 441 | |
| 442 | siblings_2 = f.siblings(simple_box, "Edge", (2,)) |
| 443 | assert siblings_2.size() == 1 |
| 444 | assert (siblings_2.Center() - simple_box.faces(">Z").Center()).Length == approx(0) |
| 445 | |
| 446 | siblings_cmp_12 = simple_box.faces(">Z").siblings(simple_box, "Edge", (1, 2)) |
| 447 | assert siblings_cmp_12.size() == 5 |
| 448 | |
| 449 | siblings_cmp_2 = simple_box.faces(">Z").siblings(simple_box, "Edge", (2,)) |
| 450 | assert siblings_cmp_2.size() == 1 |
| 451 | |
| 452 | siblings_cmp_edges_12 = simple_box.edges(">Z").siblings( |
| 453 | simple_box, "Vertex", (1, 2) |
| 454 | ) |
| 455 | assert siblings_cmp_edges_12.size() == 8 |
| 456 | |
| 457 | # more complex shape |
| 458 | stacked_box = fuse( |
| 459 | simple_box, simple_box.moved(x=1), simple_box.moved(x=2), simple_box.moved(x=3), |
| 460 | ) |
| 461 | |
| 462 | f = stacked_box.face("<X") |
| 463 | |
| 464 | level_1 = f.siblings(stacked_box, "Vertex", 1) |
| 465 | level_2 = f.siblings(stacked_box, "Vertex", 2) |
| 466 | level_3 = f.siblings(stacked_box, "Vertex", 3) |
| 467 | level_123 = f.siblings(stacked_box, "Vertex", (1, 2, 3)) |
| 468 | |
| 469 | assert level_1.size() + level_2.size() + level_3.size() == level_123.size() |
| 470 | assert set(level_1) | set(level_2) | set(level_3) == set(level_123) |
| 471 | |
| 472 | |
| 473 | def test_set_ops(simple_box): |