namespace BucketChain; /// /// Represents a bucket used to transport water. /// public sealed class Bucket { // TODO /// /// Creates a new bucket with the given capacity. /// /// Bucket capacity in liters public Bucket(double capacityLiters) { // TODO } /// /// Gets if this bucket is currently completely empty or not. /// public bool IsEmpty => false; // TODO /// /// Fills the bucket to the brim if enough water is available. /// If there is not enough water to fill the bucket completely it takes as much as possible. /// If the bucket is already full no water is taken. /// /// Max. available water, in liters /// The amount taken for filling the bucket public double Fill(double maxAvailable) { // TODO return -1D; } /// /// Empties the bucket. The amount stored within before emptying is returned. /// /// Amount emptied from the bucket, in liters public double Empty() { // TODO return -1D; } }