import week_6_homework as w6h

# Example usage:
car = w6h.Car(3000, 200)
car.drive()
car.stop()
print(f"Car has {car.wheels} wheels.")

motorcycle = w6h.Motorcycle(500, 100)
motorcycle.drive()
motorcycle.wheelie()
motorcycle.stop()
print(f"Motorcycle has {motorcycle.wheels} wheels.")

truck = w6h.Truck(10000, 400)
truck.drive()
truck.dump()
truck.stop()
print(f"Truck has {truck.wheels} wheels.")

my_list = w6h.NumericList ((1, 2, 3))
print(my_list.product())

from datetime import datetime
# Test Scenario
def test_customer_class():
    # Creating a mock customer
    customer = w6h.Customer("12345", "customer_info.txt", "purchases.txt")
    
    # Manually adding mock data (bypassing file loading for test)
    customer.name = "John Doe"
    customer.age = "35"
    customer.state = "CA"
    customer.purchases = {
        datetime(2023, 1, 1, 10, 0, 0): 50.75,
        datetime(2023, 2, 1, 11, 30, 0): 20.25,
        datetime(2023, 3, 1, 15, 45, 0): 100.00
    }
    
    # Assertions
    assert customer.get_first_purchase() == 50.75, "First purchase value is incorrect"
    assert customer.get_last_purchase() == 100.00, "Last purchase value is incorrect"
    assert customer.get_num_purchases() == 3, "Number of purchases is incorrect"
    assert customer.get_sum_of_purchases() == 171.00, "Sum of purchases is incorrect"
    
    print("All tests passed!")

# Run the test
test_customer_class()
