package hw04;

import static org.junit.jupiter.api.Assertions.*;

import org.junit.jupiter.api.BeforeEach;
import org.junit.jupiter.api.Test;

class SquareRootTest {
	SquareRoot test;

	@BeforeEach
	void setUp() throws Exception {
		test = new SquareRoot(10);
	}

	@Test
	void testSetEpsilon() { 
		SquareRoot.setEpsilon(4); 
		assertEquals(3.5,test.sqrt(),"test set epsilon");
		SquareRoot.setEpsilon(1E-6); // Set it back for others
	}

	@Test
	void testGetDepth() { 
		double rt=test.sqrt();
		assertEquals(4,test.getDepth(),"test depth");
	}

	@Test
	void testGetGuesses() { 
		double rt=test.sqrt();
		assertEquals("3.16228, 3.16232, 3.17857, 3.50000, 5.00000",test.getGuesses().toString(),"test getGuesses");
	}

	@Test
	void testSqrt() { 
		assertEquals(3.1622776604441363,test.sqrt(),"test sqrt(10)");
	}

}
