import junit.framework.*;

public class Lab09B_Test extends TestCase {
  
  public static void testIfMethod() {
    int expectedValue = 1;
    int actualValue = Lab09B.ifMethod(-1, 0, 0);
    assertEquals("error in ifMethod ", expectedValue, actualValue);
    
    expectedValue = 2;
    actualValue = Lab09B.ifMethod(2, 1, 0);
    assertEquals("error in ifMethod ", expectedValue, actualValue);
    
    expectedValue = 3;
    actualValue = Lab09B.ifMethod(5, 5, 5);
    assertEquals("error in ifMethod ", expectedValue, actualValue);
    
    expectedValue = 0;
    actualValue = Lab09B.ifMethod(1, 0, 0);
    assertEquals("error in ifMethod ", expectedValue, actualValue);
  }
  
  public static void testCaseMethod() {  
    String expectedValue = "Information";
    String actualValue = Lab09B.caseMethod(100);
    assertEquals("error in caseMethod ", expectedValue, actualValue);
    
    expectedValue = "Success";
    actualValue = Lab09B.caseMethod(200);
    assertEquals("error in caseMethod ", expectedValue, actualValue);
    
    expectedValue = "Unknown URL";
    actualValue = Lab09B.caseMethod(404);
    assertEquals("error in caseMethod ", expectedValue, actualValue);
    
    expectedValue = "Server Error";
    actualValue = Lab09B.caseMethod(505);
    assertEquals("error in caseMethod ", expectedValue, actualValue);
    
    expectedValue = "Unknown";
    actualValue = Lab09B.caseMethod(300);
    assertEquals("error in caseMethod ", expectedValue, actualValue);
  }
  
  public static void testLoopMethod() { 
    int expectedValue = 0;
    int actualValue = Lab09B.loopMethod(0);
    assertEquals("error in loopMethod ", expectedValue, actualValue);
    
    expectedValue = 1;
    actualValue = Lab09B.loopMethod(3);
    assertEquals("error in loopMethod ", expectedValue, actualValue);
  }
  
  public static void testSquareRoot() {
    assertTrue ("error in square root ", Math.abs(2.0 - Lab09B.squareRoot(4.0)) < 0.00001 );
    assertTrue ("error in square root ", Math.abs(1.0 - Lab09B.squareRoot(1.0)) < 0.00001 );
  }
  
}