Exemple #1
0
def test_cylinder_duplicate():
    """Test the Cylinder duplicate method."""
    c = Cylinder(Point3D(0, 0.5, 2), Vector3D(1, 0.5, 2.5), 0.75)
    test = c.duplicate()
    assert test.radius == 0.75
    assert c.center.x == pytest.approx(0, rel=1e-3)
    assert c.center.y == pytest.approx(0.5, rel=1e-3)
    assert c.center.z == pytest.approx(2, rel=1e-3)
    assert c.axis.x == pytest.approx(1, rel=1e-3)
    assert c.axis.y == pytest.approx(0.5, rel=1e-3)
    assert c.axis.z == pytest.approx(2.5, rel=1e-3)
Exemple #2
0
def test_equality():
    """Test the equality of Cylinder objects."""
    cylinder = Cylinder(Point3D(2, 0, 2), Vector3D(0, 2, 2), 0.7)
    cylinder_dup = cylinder.duplicate()
    cylinder_alt = Cylinder(Point3D(2, 0.1, 2), Vector3D(0, 2, 2), 0.7)

    assert cylinder is cylinder
    assert cylinder is not cylinder_dup
    assert cylinder == cylinder_dup
    assert hash(cylinder) == hash(cylinder_dup)
    assert cylinder != cylinder_alt
    assert hash(cylinder) != hash(cylinder_alt)