Title: No tests are generated for methods in enums with nested anonymous classes · Issue #617 · UnitTestBot/UTBotJava · GitHub
Open Graph Title: No tests are generated for methods in enums with nested anonymous classes · Issue #617 · UnitTestBot/UTBotJava
X Title: No tests are generated for methods in enums with nested anonymous classes · Issue #617 · UnitTestBot/UTBotJava
Description: Description No tests can't be generated by the symbolic engine for methods in enum classes whose values have corresponding anonymous classes. Note: I am not currently sure that there are no cases where tests would be generated, this ques...
Open Graph Description: Description No tests can't be generated by the symbolic engine for methods in enum classes whose values have corresponding anonymous classes. Note: I am not currently sure that there are no cases w...
X Description: Description No tests can't be generated by the symbolic engine for methods in enum classes whose values have corresponding anonymous classes. Note: I am not currently sure that there are no cas...
Opengraph URL: https://github.com/UnitTestBot/UTBotJava/issues/617
X: @github
Domain: github.com
{"@context":"https://schema.org","@type":"DiscussionForumPosting","headline":"No tests are generated for methods in enums with nested anonymous classes","articleBody":"**Description**\r\n\r\nNo tests can't be generated by the symbolic engine for methods in enum classes whose values have corresponding anonymous classes.\r\n\r\nNote: I am not currently sure that there are no cases where tests would be generated, this question has to be investigated. See #300 for a sample configuration for the contest estimator that will be useful for collecting data.\r\n\r\n**To Reproduce**\r\n\r\nGenerate the test suite for the `State.findStateByCode()` method in the following code.\r\n```\r\npublic enum State {\r\n OPEN(255) {\r\n @Override\r\n public String toString() {\r\n return \"\u003copen\u003e\";\r\n }\r\n },\r\n CLOSED(127) {\r\n @Override\r\n public String toString() {\r\n return \"\u003cclosed\u003e\";\r\n }\r\n },\r\n UNKNOWN(0) {\r\n @Override\r\n public String toString() {\r\n return \"\u003cunknown\u003e\";\r\n }\r\n };\r\n\r\n private final int code;\r\n\r\n State(int code) {\r\n this.code = code;\r\n }\r\n \r\n public int getCode() {\r\n return code;\r\n }\r\n\r\n public static State findStateByCode(int code) {\r\n for (State state: values()) {\r\n if (state.getCode() == code) {\r\n return state;\r\n }\r\n }\r\n return UNKNOWN;\r\n }\r\n}\r\n\r\n```\r\n\r\n**Expected behavior**\r\n\r\nA non-empty test suite should be generated, no errors should be reported.\r\n\r\n**Actual behavior**\r\n\r\nNo tests are generated, the error message is displayed: \"UtBot failed to generate any test cases for class State\".\r\n\r\n**Environment**\r\n\r\nThis behavior does not depend on the specific test framework configuration and mocking settings. It can be reproduced in both Java 8 and Java 11, as well as on fuzzer settings.\r\n\r\n**Additional context**\r\n\r\nEnum constructor does not prevent test generation, anonymous nested classes do.\r\n\r\nThe issue is probably related to the limited support of anonymous classes in the code generator. It may be reproduced even with fuzzing turned on, and even with fuzzing only, so it seems that it is a codegen error. At the same time, anonymous class processing in the symbolic engine should be checked too.\r\n","author":{"url":"https://github.com/dtim","@type":"Person","name":"dtim"},"datePublished":"2022-07-30T20:02:42.000Z","interactionStatistic":{"@type":"InteractionCounter","interactionType":"https://schema.org/CommentAction","userInteractionCount":1},"url":"https://github.com/617/UTBotJava/issues/617"}
| route-pattern | /_view_fragments/issues/show/:user_id/:repository/:id/issue_layout(.:format) |
| route-controller | voltron_issues_fragments |
| route-action | issue_layout |
| fetch-nonce | v2:a7a8d05c-2c00-28a8-88fd-8c1b9d8cf48d |
| current-catalog-service-hash | 81bb79d38c15960b92d99bca9288a9108c7a47b18f2423d0f6438c5b7bcd2114 |
| request-id | ED58:A9CDC:DE010E:1208C27:6990BF82 |
| html-safe-nonce | 4de5c4de5eebeea0b6e82b800f45a71449e14a6c4b6e22b2a8705bd80d2d5659 |
| visitor-payload | eyJyZWZlcnJlciI6IiIsInJlcXVlc3RfaWQiOiJFRDU4OkE5Q0RDOkRFMDEwRToxMjA4QzI3OjY5OTBCRjgyIiwidmlzaXRvcl9pZCI6IjE4Mzk2NjczNDIyODEzMjY0NjYiLCJyZWdpb25fZWRnZSI6ImlhZCIsInJlZ2lvbl9yZW5kZXIiOiJpYWQifQ== |
| visitor-hmac | 29d3bc7ab54dcc490536a2ebc5e1ba9a6d9b7fe64e661c978869a69ce740233d |
| hovercard-subject-tag | issue:1323272583 |
| github-keyboard-shortcuts | repository,issues,copilot |
| google-site-verification | Apib7-x98H0j5cPqHWwSMm6dNU4GmODRoqxLiDzdx9I |
| octolytics-url | https://collector.github.com/github/collect |
| analytics-location | / |
| fb:app_id | 1401488693436528 |
| apple-itunes-app | app-id=1477376905, app-argument=https://github.com/_view_fragments/issues/show/UnitTestBot/UTBotJava/617/issue_layout |
| twitter:image | https://opengraph.githubassets.com/7c876c69fe7bdad935f411cc8d4eb007f4e980bebe3b4fe7b2ace4f5f03d0f51/UnitTestBot/UTBotJava/issues/617 |
| twitter:card | summary_large_image |
| og:image | https://opengraph.githubassets.com/7c876c69fe7bdad935f411cc8d4eb007f4e980bebe3b4fe7b2ace4f5f03d0f51/UnitTestBot/UTBotJava/issues/617 |
| og:image:alt | Description No tests can't be generated by the symbolic engine for methods in enum classes whose values have corresponding anonymous classes. Note: I am not currently sure that there are no cases w... |
| og:image:width | 1200 |
| og:image:height | 600 |
| og:site_name | GitHub |
| og:type | object |
| og:author:username | dtim |
| hostname | github.com |
| expected-hostname | github.com |
| None | 42c603b9d642c4a9065a51770f75e5e27132fef0e858607f5c9cb7e422831a7b |
| turbo-cache-control | no-preview |
| go-import | github.com/UnitTestBot/UTBotJava git https://github.com/UnitTestBot/UTBotJava.git |
| octolytics-dimension-user_id | 87413538 |
| octolytics-dimension-user_login | UnitTestBot |
| octolytics-dimension-repository_id | 480810501 |
| octolytics-dimension-repository_nwo | UnitTestBot/UTBotJava |
| octolytics-dimension-repository_public | true |
| octolytics-dimension-repository_is_fork | false |
| octolytics-dimension-repository_network_root_id | 480810501 |
| octolytics-dimension-repository_network_root_nwo | UnitTestBot/UTBotJava |
| turbo-body-classes | logged-out env-production page-responsive |
| disable-turbo | false |
| browser-stats-url | https://api.github.com/_private/browser/stats |
| browser-errors-url | https://api.github.com/_private/browser/errors |
| release | 848bc6032dcc93a9a7301dcc3f379a72ba13b96e |
| ui-target | full |
| theme-color | #1e2327 |
| color-scheme | light dark |
Links:
Viewport: width=device-width