package com.example.boidelov3.data; import org.junit.Test; import static org.junit.Assert.*; /** * Tests unitaires pour la classe Result. */ public class ResultTest { @Test public void testSuccess_createsSuccessfulResult() { Result result = Result.success("test data"); assertTrue("Result should be success", result.isSuccess()); assertFalse("Result should not be failure", result.isFailure()); assertEquals("Data should match", "test data", result.getData()); assertNull("Error should be null", result.getError()); } @Test public void testFailure_createsFailedResult() { Exception error = new Exception("test error"); Result result = Result.failure(error); assertFalse("Result should not be success", result.isSuccess()); assertTrue("Result should be failure", result.isFailure()); assertNull("Data should be null", result.getData()); assertEquals("Error should match", error, result.getError()); } @Test public void testGetOrNull_returnsDataWhenSuccess() { Result result = Result.success("test data"); assertEquals("Should return data", "test data", result.getOrNull()); } @Test public void testGetOrNull_returnsNullWhenFailure() { Result result = Result.failure(new Exception("error")); assertNull("Should return null", result.getOrNull()); } @Test public void testGetOrElse_returnsDataWhenSuccess() { Result result = Result.success("test data"); assertEquals("Should return data", "test data", result.getOrElse("default")); } @Test public void testGetOrElse_returnsDefaultWhenFailure() { Result result = Result.failure(new Exception("error")); assertEquals("Should return default", "default", result.getOrElse("default")); } @Test public void testWithIntegerType() { Result result = Result.success(42); assertTrue("Should be success", result.isSuccess()); assertEquals(Integer.valueOf(42), result.getData()); } @Test public void testWithCustomException() { class CustomException extends Exception { public CustomException(String message) { super(message); } } Result result = Result.failure(new CustomException("custom error")); assertTrue("Should be failure", result.isFailure()); assertEquals("custom error", result.getError().getMessage()); } }