コード例 #1
0
        public void GetTypeByResourceTypeName_fails_when_getting_unregistered_name()
        {
            // Arrange
            var pluralizationService = new PluralizationService();
            var mm = new ModelManager(pluralizationService);

            // Act
            Action action = () =>
            {
                mm.GetTypeByResourceTypeName("posts");
            };

            // Assert
            action.ShouldThrow<InvalidOperationException>().WithMessage("The resource type name `posts` was not registered.");
        }
コード例 #2
0
        public void GetTypeByResourceTypeName_returns_correct_value_for_registered_names()
        {
            // Arrange
            var pluralizationService = new PluralizationService();
            var mm = new ModelManager(pluralizationService);
            mm.RegisterResourceType(typeof(Post));
            mm.RegisterResourceType(typeof(Author));
            mm.RegisterResourceType(typeof(Comment));
            mm.RegisterResourceType(typeof(UserGroup));

            // Act
            var postType = mm.GetTypeByResourceTypeName("posts");
            var authorType = mm.GetTypeByResourceTypeName("authors");
            var commentType = mm.GetTypeByResourceTypeName("comments");
            var userGroupType = mm.GetTypeByResourceTypeName("user-groups");

            // Assert
            postType.Should().Be(typeof (Post));
            authorType.Should().Be(typeof (Author));
            commentType.Should().Be(typeof (Comment));
            userGroupType.Should().Be(typeof (UserGroup));
        }