예제 #1
0
        public void It_can_create_objects_of_each_supported_type()
        {
            var sut = new RecipeDiscriminatorOptions();

            var actual = sut.GetDiscriminatedTypes().Select(x => x.Type).ToList();

            Assert.All(actual, type => Assert.IsType(type, sut.Create(type)));
        }
예제 #2
0
        public void It_only_creates_objects_that_extend_the_correct_base_type()
        {
            var sut = new RecipeDiscriminatorOptions();

            var actual = sut.GetDiscriminatedTypes().Select(x => x.Type).ToList();

            Assert.All(actual, type => Assert.IsAssignableFrom(sut.BaseType, sut.Create(type)));
        }
예제 #3
0
        public void It_supports_every_known_type_name()
        {
            var sut = new RecipeDiscriminatorOptions();

            var expected = _fixture.Db.GetRecipeTypeNames().ToHashSet();

            var actual = sut.GetDiscriminatedTypes().Select(x => x.TypeName).ToHashSet();

            Assert.Equal(expected, actual);
        }