private static void BugTest() { // with Stateless var bug = new Bug("Incorrect stock count"); bug.Assign("Joe"); bug.Defer(); bug.Assign("Harry"); bug.Assign("Fred"); bug.Close(); Console.WriteLine(); Console.WriteLine("State machine:"); Console.WriteLine(bug.ToDotGraph()); // with state pattern Context c = new Context(); // Issue requests, which changes state c.Assign("Joe"); c.Defer(); c.Assign("Harry"); c.Assign("Fred"); c.Close(); }
/// <summary> /// Execute bug tracker example /// </summary> private static void ExecuteBugTrackerExample() { Console.WriteLine("**** Bug tracker state machine example ****"); Console.WriteLine(); var bug = new Bug("First bug"); bug.Assign("Niko"); Console.WriteLine(); bug.Assign("Ivan"); Console.WriteLine(); bug.Defer(); Console.WriteLine(); bug.Assign("Harry"); Console.WriteLine(); bug.Assign("Fred"); Console.WriteLine(); bug.Assign("Arnold"); Console.WriteLine(); bug.Close(); }