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

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


            //Act
            html.Editable(item, x => x.MissingField);
        }
コード例 #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
ファイル: LocatorTests.cs プロジェクト: lie112/ApsimX
        public void TestPropertyOfInterface()
        {
            Concrete2 c2        = new Concrete2();
            Concrete3 c3        = new Concrete3();
            Container container = new Container();

            Simulation sim = new Simulation();

            sim.Children.Add(container);
            Simulations sims = new Simulations();

            sims.Children.Add(sim);

            ILocator locator = sims.GetLocatorService(sim);

            container.Value = c2;
            Assert.AreEqual(2, locator.Get("[Container].Value.X"));
            container.Value = c3;
            Assert.AreEqual(3, locator.Get("[Container].Value.X"));
        }
コード例 #4
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");
        }
コード例 #5
0
 public void Specific2(Concrete2 input)
 {
 }
コード例 #6
0
 public void Specific2(Concrete2 input)
 {
 }
コード例 #7
0
 public Concrete1(Concrete2 c2)
 {
 }