public void Accept_CallsSpecialVisitExtension_ForSpecialVisitor() { // Arrange var node = new TestExtensionIntermediateNode(); var visitor = new SpecialVisitor(); // Act node.Accept(visitor); // Assert Assert.False(visitor.WasStandardMethodCalled); Assert.True(visitor.WasSpecificMethodCalled); }
public IActionResult Calculate(string visitortype) { ISwitchboardVisitor visitor = null; if (visitortype == "Normal") { visitor = new NormalVisitor(); } else { visitor = new SpecialVisitor(); } Switchboard switchboard = new Switchboard(visitor); switchboard.Items.Add(new Enclosure() { Cost = 50000 }); switchboard.Items.Add(new Transformer() { Cost = 10000 }); switchboard.Items.Add(new Busbars() { Cost = 5000 }); switchboard.Items.Add(new CircuitBreaker() { Cost = 20000 }); double totalCost = switchboard.Calculate(); ViewBag.PackingShippingType = visitortype; ViewBag.TotalCost = totalCost; return(View()); }
public override void Accept(SpecialVisitor visitor) { visitor.Visit(this); }
public abstract void Accept(SpecialVisitor visitor);