static void Main(string[] args) { Context ctx = new Context(new IAmOn()); ctx.pressedOn(); ctx.pressedOn(); ctx.pressedOff(); ctx.pressedOn(); ctx.pressedOff(); ctx.pressedOff(); }
static void Main(string[] args) { Context ctx = new Context(); IAmOn on = new IAmOn(ctx); ctx.Init(on); ctx.pressedOn(); ctx.pressedOn(); ctx.pressedOff(); ctx.pressedOn(); ctx.pressedOff(); ctx.pressedOff(); }
static void Main(string[] args) { Context ctx = new Context(new IAmOn()); // Turning off ctx.pressedOff(); // Turning on ctx.pressedOn(); // Broken ctx.pressedOn(); // Still broken ctx.pressedOn(); // Still broken ctx.pressedOff(); // Fix ctx.pressedFix(); // Already off ctx.pressedOff(); }
static void Main(string[] args) { Context ctx = new Context(new IAmOff()); ctx.pressedOn(); ctx.pressedOff(); ctx.pressedOn(); ctx.pressedOn(); ctx.pressedOff(); ctx.pressedOn(); ctx.fixLight(); ctx.pressedOff(); ctx.pressedOn(); ctx.pressedOff(); ctx.pressedOn(); ctx.pressedOn(); Console.ReadLine(); }