コード例 #1
0
 public void Validate_TwoChainedHandlers_LogLengthIsTwo()
 {
   var node1 = new ValidationHandlerNode(new AlwaysPassesValidationHandler());
   var node2 = new ValidationHandlerNode(new AlwaysPassesValidationHandler());
   node1.Successor = node2;
   node1.Validate("");
   Assert.AreEqual(2, log.Length);
 }
コード例 #2
0
 public void Validate_ThreeChainedHanldersMiddleFails_LogLengthIsTwo()
 {
   var node1 = new ValidationHandlerNode(new AlwaysPassesValidationHandler());
   var node2 = new ValidationHandlerNode(new AlwaysFailsValidationHandler());
   var node3 = new ValidationHandlerNode(new AlwaysPassesValidationHandler());
   node1.Successor = node2;
   node2.Successor = node3;
   node1.Validate("");
   Assert.AreEqual(2, log.Length);
   Assert.AreEqual("TF", log);
 }
コード例 #3
0
 public void Validate_TwoChainedHanldersFirstFails_LogLengthIsOne()
 {
   var node1 = new ValidationHandlerNode(new AlwaysFailsValidationHandler());
   var node2 = new ValidationHandlerNode(new AlwaysPassesValidationHandler());
   node1.Successor = node2;
   node1.Validate("");
   Assert.AreEqual(1, log.Length);
   Assert.AreEqual("F", log);
 }
コード例 #4
0
 public void Validate_ThreeChainedHanldersAllPass_LogLengthIsThree()
 {
   var node1 = new ValidationHandlerNode(new AlwaysPassesValidationHandler());
   var node2 = new ValidationHandlerNode(new AlwaysPassesValidationHandler());
   var node3 = new ValidationHandlerNode(new AlwaysPassesValidationHandler());
   node1.Successor = node2;
   node2.Successor = node3;
   bool result = node1.Validate("");
   Assert.AreEqual(3, log.Length);
   Assert.AreEqual("TTT", log);
   Assert.IsTrue(result);
 }