public void it_can_select_types_based_on_an_interface()
        {
            var sut = new BaseTypeSelectorExpression(this.GetType().Assembly);
            sut.UsingTypesBasedOn<IBase>();
            var result = sut.Enumerate().ToList();

            Assert.That(result, Is.EquivalentTo(new[] { typeof(Implementation) }));
        }
        public void it_can_select_just_one()
        {
            var sut = new BaseTypeSelectorExpression(this.GetType().Assembly);
            sut.Using<when_scanning_for_types>();
            var result = sut.Enumerate().ToList();

            Assert.That(result, Is.EquivalentTo(new[] { typeof(when_scanning_for_types) }));
        }
        public void it_can_select_types_based_on_an_attribute()
        {
            var sut = new BaseTypeSelectorExpression(this.GetType().Assembly);
            sut.UsingTypesThatHave<SelectorAttribute>();
            var result = sut.Enumerate().ToList();

            Assert.That(result, Is.EquivalentTo(new[] { typeof(IBase) }));
        }
        public void it_can_select_all_types_in_a_namespace()
        {
            var sut = new BaseTypeSelectorExpression(this.GetType().Assembly);
            sut.UsingInterfacesInNamespaceOf<when_scanning_for_types>();
            var result = sut.Enumerate().ToList();

            Assert.That(result, Is.EquivalentTo(new[] { typeof(IBase) }));
        }