Example #1
0
def test_center():
    """Test getting and setting the center."""
    circle = Circle(1)
    assert all(circle.center == (0, 0, 0))

    center = (1, 1, 1)
    circle.center = center
    assert all(circle.center == center)
Example #2
0
def test_moment_inertia(r, center):
    circle = Circle(r)
    assert np.all(np.asarray(circle.planar_moments_inertia) >= 0)

    circle.center = center
    area = np.pi * r ** 2
    expected = [np.pi / 4 * r ** 4] * 3
    expected[0] += area * center[0] ** 2
    expected[1] += area * center[1] ** 2
    expected[2] = area * center[0] * center[1]
    np.testing.assert_allclose(circle.planar_moments_inertia[:2], expected[:2])
    np.testing.assert_allclose(circle.planar_moments_inertia[2], expected[2])
    assert circle.polar_moment_inertia == pytest.approx(sum(expected[:2]))
Example #3
0
def test_inertia_tensor():
    """Test the inertia tensor calculation."""
    circle = Circle(1)
    circle.center = (0, 0, 0)
    assert np.sum(circle.inertia_tensor > 1e-6) == 1
    assert circle.inertia_tensor[2, 2] == np.pi / 2