public void Maximal()
        {
            this.testCaseSwitch = TestCaseSwitch.Maximal;

            this.Explorer.AddRepository(this.Repository);

            var company = this.domain.AddDeclaredObjectType(Guid.NewGuid());

            company.SingularName = "Company";
            company.PluralName   = "Companies";

            var person = this.domain.AddDeclaredObjectType(Guid.NewGuid());

            person.SingularName = "Person";
            person.PluralName   = "Persons";

            company.SendChangedEvent();
            person.SendChangedEvent();
            this.domain.SendChangedEvent();

            this.TreeViewTester.SelectNode(TypeNode);

            var addRelation = new MenuItemTester(Constants.AddRelationType);

            Assert.IsTrue(addRelation.Target.Visible);

            addRelation.Click();

            Assert.AreEqual(1, this.domain.RelationTypes.Length);
            var relationType = this.domain.RelationTypes[0];

            Assert.AreEqual("EmployerEmployee", relationType.Name);
            Assert.IsTrue(relationType.AssociationType.IsOne);
            Assert.IsTrue(relationType.RoleType.IsMany);
            Assert.IsTrue(relationType.IsIndexed);

            this.TreeViewTester.Target.ExpandAll();

            Assert.AreEqual(1, TypeNode.FindByTagType(typeof(RelationTypeTag)).Length);

            Assert.AreEqual("Employees", RelationNode.Target.Text);
            Assert.AreEqual(new RelationTypeTag(this.Repository, relationType), this.RelationNode.Target.Tag);
        }