public void should_mark_the_selected_workspaces_in_the_project_token()
 {
     string[] workspaces = null;
     MockFor <IProjectHistory>().AssertWasCalled(x => x.MarkAsLastAccessed(null), x =>
     {
         x.Constraints(Is.Matching <ProjectToken>(t =>
         {
             workspaces = t.SelectedWorkspaces;
             return(true);
         }));
     });
 }
        public void TestTryProcess_ChildrenWorks()
        {
            XmlNode node = Globals.GetXmlNode("<control id=\"TestId\" type=\"TestType\"><elem1/>Text node<elem2><elemx/></elem2>  <elem3/></control>");
            XmlNode n1   = node.SelectSingleNode("elem1");
            XmlNode n2   = n1.NextSibling;
            XmlNode n3   = node.SelectSingleNode("elem2");
            XmlNode n4   = node.SelectSingleNode("elem3");

            IMember f1 = null, f2 = null, f3 = null, f4 = null;

            Expect.Call(() => renderFunction.AddDependency(null)).IgnoreArguments().Constraints(Property.Value("Name", "TestId"));

            using (mocks.Ordered()) {
                Expect.Call(template.HasMember("TestId")).Return(false);

                Expect.Call(template.HasMember("TestId_inner1")).Return(false);
                Expect.Call(() => template.AddMember(CreateRenderFunction("TestId_inner1", "", new IFragment[0]))).Do((Action <IMember>)(m => f1 = m));
                Expect.Call(() => docProcessor.ProcessRecursive(null, null, null)).Do((Action <XmlNode, ITemplate, IRenderFunction>)((n, tpl, f) => { Assert.AreEqual(n, n1); Assert.AreEqual(tpl, template); f.AddFragment(new LiteralFragment("[n1]")); })).IgnoreArguments();
                Expect.Call(template.HasMember("TestId_inner2")).Return(false);
                Expect.Call(() => template.AddMember(CreateRenderFunction("TestId_inner2", "", new IFragment[0]))).Do((Action <IMember>)(m => f2 = m));
                Expect.Call(() => docProcessor.ProcessRecursive(null, null, null)).Do((Action <XmlNode, ITemplate, IRenderFunction>)((n, tpl, f) => { Assert.AreEqual(n, n2); Assert.AreEqual(tpl, template); f.AddFragment(new LiteralFragment("[n2]")); })).IgnoreArguments();
                Expect.Call(template.HasMember("TestId_inner3")).Return(false);
                Expect.Call(() => template.AddMember(CreateRenderFunction("TestId_inner3", "", new IFragment[0]))).Do((Action <IMember>)(m => f3 = m));
                Expect.Call(() => docProcessor.ProcessRecursive(null, null, null)).Do((Action <XmlNode, ITemplate, IRenderFunction>)((n, tpl, f) => { Assert.AreEqual(n, n3); Assert.AreEqual(tpl, template); f.AddFragment(new LiteralFragment("[n3]")); })).IgnoreArguments();
                Expect.Call(template.HasMember("TestId_inner4")).Return(false);
                Expect.Call(() => template.AddMember(CreateRenderFunction("TestId_inner4", "", new IFragment[0]))).Do((Action <IMember>)(m => f4 = m));
                Expect.Call(() => docProcessor.ProcessRecursive(null, null, null)).Do((Action <XmlNode, ITemplate, IRenderFunction>)((n, tpl, f) => { Assert.AreEqual(n, n4); Assert.AreEqual(tpl, template); f.AddFragment(new LiteralFragment("[n4]")); })).IgnoreArguments();

                Expect.Call(template.HasMember("Container")).Return(true);
                Expect.Call(() => template.AddMember(null)).IgnoreArguments().Constraints(Is.Matching((InstantiatedControlMember m) =>
                                                                                                      m.Name == "TestId" &&
                                                                                                      m.TypeName == "TestType" &&
                                                                                                      m.CustomInstantiate == false &&
                                                                                                      m.AdditionalProperties.Count == 0 &&
                                                                                                      m.Dependencies.SequenceEqual(new[] { "TestId_inner1", "TestId_inner2", "TestId_inner3", "TestId_inner4" })));
            }

            mocks.ReplayAll();

            Assert.IsTrue(new ControlInstantiationNodeProcessor().TryProcess(docProcessor, node, false, template, renderFunction));
            Assert.AreEqual("[CONTROL id=TestId inner=4]", ConcatenatedFragments);
            Assert.AreEqual(f1, CreateRenderFunction("TestId_inner1", "", new LiteralFragment("[n1]")));
            Assert.AreEqual(f2, CreateRenderFunction("TestId_inner2", "", new LiteralFragment("[n2]")));
            Assert.AreEqual(f3, CreateRenderFunction("TestId_inner3", "", new LiteralFragment("[n3]")));
            Assert.AreEqual(f4, CreateRenderFunction("TestId_inner4", "", new LiteralFragment("[n4]")));

            mocks.VerifyAll();
        }
Пример #3
0
 private AbstractConstraint IsMessage <T>(string message)
 {
     return(Is.Matching <IScreenMessage>(c => c is T && c.GetBody().FirstOrDefault(b => b == message) != null));
 }