예제 #1
0
        public void GetsExistingContextFromElementManager()
        {
            With(project =>
            {
                var factory = new UnitTestElementFactory(ServiceProvider, TargetFrameworkId.Default);

                var element1 = factory.GetOrCreateContext(project, new ClrTypeName("MyClass"), BaseTestDataPath, "subject",
                                                          new[] { "tag1" }, false);

                ServiceProvider.ElementManager.AddElements(new HashSet <IUnitTestElement> {
                    element1
                });

                var element2 = factory.GetOrCreateContext(project, new ClrTypeName("MyClass"), BaseTestDataPath, "subject",
                                                          new[] { "tag1" }, false);

                Assert.That(element1, Is.Not.Null);
                Assert.That(element2, Is.Not.Null);
                Assert.That(element1, Is.SameAs(element2));
            });
        }
예제 #2
0
        public void CanCreateBehaviorSpec()
        {
            With(project =>
            {
                var factory = new UnitTestElementFactory(ServiceProvider, TargetFrameworkId.Default);

                var parent  = factory.GetOrCreateContext(project, new ClrTypeName("Parent"), BaseTestDataPath, "subject", new string[0], false);
                var element = factory.GetOrCreateBehaviorSpecification(project, parent, new ClrTypeName("MyClass"), "my_field", false);

                Assert.That(element, Is.Not.Null);
                Assert.That(element.GetPresentation(), Is.EqualTo("my field"));
            });
        }
예제 #3
0
        public void CanCreateContext()
        {
            With(project =>
            {
                var factory = new UnitTestElementFactory(ServiceProvider, TargetFrameworkId.Default);

                var element = factory.GetOrCreateContext(project, new ClrTypeName("MyClass"), BaseTestDataPath, "subject",
                                                         new[] { "tag1" }, false);

                Assert.That(element, Is.Not.Null);
                Assert.That(element.GetPresentation(), Is.EqualTo("subject, MyClass"));
                Assert.That(element.OwnCategories.Any(x => x.Name == "tag1"), Is.True);
            });
        }
예제 #4
0
        public void GetsExistingBehaviorSpecFromElementManager()
        {
            With(project =>
            {
                var factory = new UnitTestElementFactory(ServiceProvider, TargetFrameworkId.Default);

                var context  = factory.GetOrCreateContext(project, new ClrTypeName("Parent"), BaseTestDataPath, "subject", new string[0], false);
                var behavior = factory.GetOrCreateBehavior(project, context, new ClrTypeName("MyClass"), "my_field", false);
                var element1 = factory.GetOrCreateBehaviorSpecification(project, behavior, new ClrTypeName("MyClass"), "my_field", false);

                ServiceProvider.ElementManager.AddElements(new HashSet <IUnitTestElement> {
                    element1
                });

                var element2 = factory.GetOrCreateBehaviorSpecification(project, behavior, new ClrTypeName("MyClass"), "my_field", false);

                Assert.That(element1, Is.Not.Null);
                Assert.That(element2, Is.Not.Null);
                Assert.That(element1, Is.SameAs(element2));
            });
        }