test_class.declarator: customerController
test_class.modifier: @Autowired
test_class.original_string: @Autowired
      CustomerController customerController;
test_class.type: CustomerController
test_class.var_name: customerController
test_class.declarator: jdbcTemplate
test_class.original_string: JdbcTemplate jdbcTemplate;
test_class.type: JdbcTemplate
test_class.var_name: jdbcTemplate
test_class.file: 01-spring5/src/test/java/com/example/web/controller/CustomerControllerTest.java
test_class.identifier: CustomerControllerTest
test_case.body: @Test
      @DisplayName("insertMain画面に遷移する")
      public void insertMainTest() {
          Method indexMethod = assertDoesNotThrow(() -> CustomerController.class.getMethod("insertMain", Model.class));
          GetMapping getMapping = indexMethod.getAnnotation(GetMapping.class);
          ExtendedModelMap model = new ExtendedModelMap();
          String logicalViewName = customerController.insertMain(model);
          Object customerFormObj = model.get("customerForm");
          assertAll(
                  () -> assertNotNull(getMapping),
                  () -> assertEquals("/insertMain", getMapping.value()[0]),
                  () -> assertEquals("insertMain", logicalViewName),
                  () -> assertNotNull(customerFormObj),
                  () -> assertTrue(customerFormObj instanceof CustomerForm)
          );
          CustomerForm customerForm = (CustomerForm) customerFormObj;
          assertAll(
                  () -> assertNull(customerForm.getFirstName()),
                  () -> assertNull(customerForm.getLastName()),
                  () -> assertNull(customerForm.getEmail()),
                  () -> assertNull(customerForm.getBirthday())
          );
      }
test_case.class_method_signature: CustomerControllerTest.insertMainTest()
test_case.full_signature: @Test @DisplayName("insertMain画面に遷移する") public void insertMainTest()
test_case.identifier: insertMainTest
test_case.invocations: assertDoesNotThrow getMethod getAnnotation insertMain get assertAll assertNotNull assertEquals value assertEquals assertNotNull assertTrue assertAll assertNull getFirstName assertNull getLastName assertNull getEmail assertNull getBirthday
test_case.modifiers: @Test @DisplayName("insertMain画面に遷移する") public
test_case.parameters: ()
test_case.return: void
test_case.signature: void insertMainTest()
focal_class.declarator: logger = LoggerFactory.getLogger(CustomerController.class)
focal_class.modifier: private static final
focal_class.original_string: private static final Logger logger = LoggerFactory.getLogger(CustomerController.class);
focal_class.type: Logger
focal_class.var_name: logger
focal_class.file: 01-spring5/src/main/java/com/example/web/controller/CustomerController.java
focal_class.identifier: CustomerController
focal_class.class_method_signature: CustomerController.index(Model model)
focal_class.full_signature: public String index(Model model)
focal_class.identifier: index
focal_class.modifiers: public
focal_class.parameters: (Model model)
focal_class.return: String
focal_class.signature: String index(Model model)
focal_class.class_method_signature: CustomerController.insertMain(Model model)
focal_class.full_signature: @GetMapping("/insertMain") public String insertMain(Model model)
focal_class.identifier: insertMain
focal_class.modifiers: @GetMapping("/insertMain") public
focal_class.parameters: (Model model)
focal_class.return: String
focal_class.signature: String insertMain(Model model)
focal_class.class_method_signature: CustomerController.insertComplete(
              // Bean Validationを実行するアノテーションを付加する
                 CustomerForm customerForm,
              BindingResult bindingResult)
focal_class.full_signature: public String insertComplete(
              // Bean Validationを実行するアノテーションを付加する
                 CustomerForm customerForm,
              BindingResult bindingResult)
focal_class.identifier: insertComplete
focal_class.modifiers: public
focal_class.parameters: (
              // Bean Validationを実行するアノテーションを付加する
                 CustomerForm customerForm,
              BindingResult bindingResult)
focal_class.return: String
focal_class.signature: String insertComplete(
              // Bean Validationを実行するアノテーションを付加する
                 CustomerForm customerForm,
              BindingResult bindingResult)
focal_method.body: @GetMapping("/insertMain")
      public String insertMain(Model model) {
          // フィールドが全てnullのフォームインスタンスを追加する
          model.addAttribute(CustomerForm.createEmptyForm());
          // src/main/resources/templates/insertMain.htmlに遷移する
          return "insertMain";
      }
focal_method.class_method_signature: CustomerController.insertMain(Model model)
focal_method.full_signature: @GetMapping("/insertMain") public String insertMain(Model model)
focal_method.identifier: insertMain
focal_method.invocations: addAttribute createEmptyForm
focal_method.modifiers: @GetMapping("/insertMain") public
focal_method.parameters: (Model model)
focal_method.return: String
focal_method.signature: String insertMain(Model model)