// Path: src/main/java/com/poseidon/enums/CRUDViewEnum.java
// public enum CRUDViewEnum {
// 
//     IS_SAVE("isSave"),
//     IS_DELETE("isDelete"),
//     IS_UPDATE("isUpdate"),
//     IS_SEARCH("isSearch");
// 
// 
// 
//     private String operation;
// 
//     CRUDViewEnum(String operation) {
//     this.operation=operation;
//     }
// 
//     public String getOperation() {
//         return operation;
//     }
// }
// 
// Path: src/test/java/com/poseidon/utils/RedirectAttributesMock.java
// public class RedirectAttributesMock implements RedirectAttributes {
// 
// 
//     private HashMap<String,Object> map=new HashMap<>();
// 
//     @Override
//     public RedirectAttributes addAttribute(String s, Object o) {
//         return null;
//     }
// 
//     @Override
//     public RedirectAttributes addAttribute(Object o) {
//         return null;
//     }
// 
//     @Override
//     public RedirectAttributes addAllAttributes(Collection<?> collection) {
//         return null;
//     }
// 
//     @Override
//     public Model addAllAttributes(Map<String, ?> map) {
//         return null;
//     }
// 
//     @Override
//     public RedirectAttributes mergeAttributes(Map<String, ?> map) {
//         return null;
//     }
// 
//     @Override
//     public boolean containsAttribute(String s) {
//         return false;
//     }
// 
//     @Override
//     public Map<String, Object> asMap() {
//         return null;
//     }
// 
//     @Override
//     public RedirectAttributes addFlashAttribute(String s, Object o) {
//         map.put(s,o);
//         return  this;
//     }
// 
//     @Override
//     public RedirectAttributes addFlashAttribute(Object o) {
//         return null;
//     }
// 
//     @Override
//     public Map<String, ?> getFlashAttributes() {
//         return map;
//     }
// }


import com.poseidon.enums.CRUDViewEnum;
import com.poseidon.utils.RedirectAttributesMock;
import org.springframework.web.servlet.mvc.support.RedirectAttributes;
import org.testng.annotations.BeforeMethod;
import org.testng.annotations.Test;
import java.util.Map;
import static org.testng.AssertJUnit.assertEquals;
import static org.testng.AssertJUnit.assertNotNull;
package com.poseidon.controller;




@Test
public class ControllerBaseTest {


    private ControllerBase controllerBase;


    @BeforeMethod
    public void setUp(){
        controllerBase= new ControllerBase();
    }


    @Test
    public void shouldPutAllFalseExceptIsSave() {

// Path: src/main/java/com/poseidon/enums/CRUDViewEnum.java
// public enum CRUDViewEnum {
// 
//     IS_SAVE("isSave"),
//     IS_DELETE("isDelete"),
//     IS_UPDATE("isUpdate"),
//     IS_SEARCH("isSearch");
// 
// 
// 
//     private String operation;
// 
//     CRUDViewEnum(String operation) {
//     this.operation=operation;
//     }
// 
//     public String getOperation() {
//         return operation;
//     }
// }
// 
// Path: src/test/java/com/poseidon/utils/RedirectAttributesMock.java
// public class RedirectAttributesMock implements RedirectAttributes {
// 
// 
//     private HashMap<String,Object> map=new HashMap<>();
// 
//     @Override
//     public RedirectAttributes addAttribute(String s, Object o) {
//         return null;
//     }
// 
//     @Override
//     public RedirectAttributes addAttribute(Object o) {
//         return null;
//     }
// 
//     @Override
//     public RedirectAttributes addAllAttributes(Collection<?> collection) {
//         return null;
//     }
// 
//     @Override
//     public Model addAllAttributes(Map<String, ?> map) {
//         return null;
//     }
// 
//     @Override
//     public RedirectAttributes mergeAttributes(Map<String, ?> map) {
//         return null;
//     }
// 
//     @Override
//     public boolean containsAttribute(String s) {
//         return false;
//     }
// 
//     @Override
//     public Map<String, Object> asMap() {
//         return null;
//     }
// 
//     @Override
//     public RedirectAttributes addFlashAttribute(String s, Object o) {
//         map.put(s,o);
//         return  this;
//     }
// 
//     @Override
//     public RedirectAttributes addFlashAttribute(Object o) {
//         return null;
//     }
// 
//     @Override
//     public Map<String, ?> getFlashAttributes() {
//         return map;
//     }
// }


// Path: src/test/java/com/poseidon/controller/ControllerBaseTest.java
import com.poseidon.enums.CRUDViewEnum;
import com.poseidon.utils.RedirectAttributesMock;
import org.springframework.web.servlet.mvc.support.RedirectAttributes;
import org.testng.annotations.BeforeMethod;
import org.testng.annotations.Test;
import java.util.Map;
import static org.testng.AssertJUnit.assertEquals;
import static org.testng.AssertJUnit.assertNotNull;

package com.poseidon.controller;




@Test
public class ControllerBaseTest {


    private ControllerBase controllerBase;


    @BeforeMethod
    public void setUp(){
        controllerBase= new ControllerBase();
    }


    @Test
    public void shouldPutAllFalseExceptIsSave() {

        RedirectAttributes attributeRedirected = controllerBase.buildRedirectFlashAttributes(new RedirectAttributesMock(), CRUDViewEnum.IS_SAVE);