22 lines
653 B
Python
22 lines
653 B
Python
import random, sys
|
|
sys.path.insert(0, "/root/.hermes/wizard-outputs/beam")
|
|
from largest_rect_hist import largest_rectangle_area, _brute
|
|
|
|
def test_random():
|
|
rng = random.Random(2024)
|
|
for _ in range(5000):
|
|
n = rng.randint(0, 30)
|
|
hs = [rng.randint(0, 8) for _ in range(n)]
|
|
assert largest_rectangle_area(hs) == _brute(hs), hs
|
|
|
|
def test_edges():
|
|
assert largest_rectangle_area([]) == 0
|
|
assert largest_rectangle_area([2,1,5,6,2,3]) == 10
|
|
assert largest_rectangle_area([2,4]) == 4
|
|
assert largest_rectangle_area([1]) == 1
|
|
assert largest_rectangle_area([0,0,0]) == 0
|
|
|
|
test_random()
|
|
test_edges()
|
|
print("ALL OK")
|