示例#1
0
        public void Editable_ConcreteAccessingFirstChild_NoExceptions()
        {
            //Assign
            global::Sitecore.Context.Site = global::Sitecore.Configuration.Factory.GetSite("website");

            Concrete1 item = _service.GetItem <Concrete1>(_editablePath);
            GlassHtml html = new GlassHtml(_service);


            //Act
            html.Editable(item, x => x.Children.First().SingleLineText);
            html.Editable(item, x => x.Children.First().Text);
        }
示例#2
0
        public void HomeDeliveryUnitTest()
        {
            //Arrange - Sending actual
            IShippingType  hd         = new Concrete1();
            IShippingType  up         = new Concrete2();
            IPerson        person     = new Person();
            HomeController controller = new HomeController(hd, up, person);

            //Act
            ViewResult result = controller.HomeDelivery() as ViewResult;

            var model = result.Model as ShippingToWho;

            //Assert
            //Assert.IsNotNull(result);
            Assert.AreEqual("Home Delivery Service", model.ShippingType.ShippingName);
        }
示例#3
0
        static void Main(string[] args)
        {
            // //Normal 当类与类之间需要复杂交互时,则引入中间类,将系统的复杂性集中于中间者类中,在面对多对多交互时,可以考虑该模式
            // //当存在多对多的复杂交互时,因优先考虑系统本身的设计性问题,而不是着急使用中间者模式
            // System.Console.WriteLine("Normal Mediator Design Pattern");
            // ConcreteMediator mediator = new ConcreteMediator();
            // ConcreteColleague1 colleague1 = new ConcreteColleague1(mediator);
            // ConcreteColleague2 colleague2 = new ConcreteColleague2(mediator);
            // mediator.Colleague1 = colleague1;
            // mediator.Colleague2 = colleague2;
            // colleague1.Send("这是新的需求,赶紧完成!");
            // colleague2.Send("系统设计模式有问题,实现需求会很麻烦!");

            // C# 利用委托实现消息中心类,当类与类需要交互时,只需一个类注册服务,另一个类通过消息中心向该服务发送信息即可
            // 消息中信类不需要指导参与交互的类,极大地减小了中间者类的复杂性
            Concrete1 conrete1 = new Concrete1();
            Concrete2 conrete2 = new Concrete2();

            conrete2.SendMessage("Hello", "Seven");
            conrete2.SendMessage("I", "Love", "You");
        }
示例#4
0
 public void Specific1(Concrete1 input)
 {
 }
示例#5
0
 public void Specific1(Concrete1 input)
 {
 }
示例#6
0
 public Concrete3(Concrete1 c1)
 {
 }