public void CircularMustBeAfterIsBad()
        {
            //Arrange
            var finder = new RegistrantFinderBuilder()
                         .UsingTypeFinder(new SimpleTypesFinder(typeof(R02Last), typeof(R03Last)))
                         .Build();

            //Act
            Action action = () => finder.GetAllRegistrations();

            //Assert
            action.Should().Throw <CircularRegistrantDependencyException>();
        }
        public void IngoreMustBeAfterIfNotThere()
        {
            //Arrange
            var finder = new RegistrantFinderBuilder()
                         .UsingTypeFinder(new SimpleTypesFinder(typeof(R01Last), typeof(R02Middle)))
                         .Build();

            //Act
            var elements = finder.GetAllRegistrations().ToArray();

            //Assert
            elements.Length.Should().Be(6);
            elements[0].Should().Be(E04);
            elements[1].Should().Be(E05);
            elements[2].Should().Be(E06);
            elements[3].Should().Be(E01);
            elements[4].Should().Be(E02);
            elements[5].Should().Be(E03);
        }
        public void IgnoreManuals()
        {
            //Arrange
            var finder = new RegistrantFinderBuilder()
                         .UsingTypeFinder(new SimpleTypesFinder(typeof(R01), typeof(R02Manual), typeof(R03)))
                         .Build();

            //Act
            var elements = finder.GetAllRegistrations().ToArray();

            //Assert
            elements.Length.Should().Be(6);
            elements[0].Should().Be(E01);
            elements[1].Should().Be(E02);
            elements[2].Should().Be(E03);
            elements[3].Should().Be(E07);
            elements[4].Should().Be(E08);
            elements[5].Should().Be(E09);
        }