def test_sphere__str__():
    """
    Verifies the built-in string method and built-in repr method
    gets set as expected when initializing a Sphere object.
    """
    s2 = Sphere(10)
    assert repr(s2) == "Sphere(10)"
    assert s2.__str__() == "Sphere with radius: 10.00000"
    circles.sort(key=Circle.sort_key, reverse=True)

    assert circles[0] == c10
    assert circles[-1] == c1

    # Test reflection
    assert c6 * 20 == 20 * c6

    # Test augmentation
    assert c11 == Circle(150)
    assert c12 == Circle(150)
    c11 += c12
    assert c11 == Circle(300)
    c11 *= c12
    assert c11 == Circle(45000)

    # Test Sphere subclass additional derived attributes
    s1 = Sphere(10)
    assert int(s1.volume) == 4188
    assert int(s1.area) == 1256  # override Circle area property

    # Test alternate constructor
    s2 = Sphere.from_diameter(20)
    assert s2.radius == 10

    # Test str and repr reflect Sphere subclass
    s1.diameter = 100
    s2.diameter = 200
    assert s1.__str__() == "Sphere(50.0)"
    assert s2.__repr__() == "Sphere(100.0)"
def test_sphere_str():
    """ Verify sphere __str__ output """
    radius = 5
    a_sphere = Sphere(radius)
    assert a_sphere.__str__() == f"Sphere with radius: {radius}"