<html><head><meta name="color-scheme" content="light dark"></head><body><pre style="word-wrap: break-word; white-space: pre-wrap;">import java.io.*;
import junit.framework.TestCase;
// import org.junit.Assert;

public class wielomianTest extends TestCase {

    public void test_wypisywanie() {
        assertEquals("2x+1",new Wielomian(1,2).toString());
        assertEquals("0",new Wielomian(0).toString());
        assertEquals("-1",new Wielomian(-1).toString());
        assertEquals("-x^3-1",new Wielomian(-1,0,0,-1).toString());
        assertEquals("-0.5",new Wielomian(-0.5).toString());
        assertEquals("0.5x^2+x+1",new Wielomian(1,1,0.5).toString());
    }

    public void test_dodawanie() {
        assertEquals("4x+2",new Wielomian(1,2).dodaj(new Wielomian(1,2)).toString());
        assertEquals("0",new Wielomian(1,2).dodaj(new Wielomian(-1,-2)).toString());
    }

    public void test_mnozenie() {
        assertEquals("2x^2+x",new Wielomian(1,2).pomnoz(new Wielomian(0,1)).toString());
    }

    public void test_wartosc() {
        Wielomian w=new Wielomian(2,0,1);
        for(double x=-1.0;x&lt;1.0;x=x+0.1) {
            assertEquals(x*x+2, w.wartosc(x), 0.000001);
        }
    }

    public void test_pochodna() {
        assertEquals("2x+1",new Wielomian(0,1,1).pochodna().toString());
        assertEquals("0",new Wielomian(0).pochodna().toString());
        assertEquals("0",new Wielomian(42).pochodna().toString());
    }

    public void test_dzielenie() {
        assertEquals("x^2-7x+8",new Wielomian(-8,15,-8,1).podziel(new Wielomian(-1,1)).toString());
    }

    public void test_miejsca_zerowe() {
        assertArrayEquals(new double[]{0.0}, new Wielomian(0).miejscaZerowe());
        assertArrayEquals(new double[]{}, new Wielomian(1).miejscaZerowe());
        assertArrayEquals(new double[]{2.0}, new Wielomian(-2,1).miejscaZerowe());
        assertArrayEquals(new double[]{-2.0,2.0}, new Wielomian(-4,0,1).miejscaZerowe());
        assertArrayEquals(new double[]{-1.0514,2.5173,4.5341}, new Wielomian(12,4,-6,1).miejscaZerowe(), 0.001);
    }

    private void assertArrayEquals(double[] a1, double[] a2) {
        assertArrayEquals(a1,a2,0.0000001);
    }

    private void assertArrayEquals(double[] a1, double[] a2, double precision) {
        assertEquals("wrong arrays length", a1.length, a2.length);
        for(int i=0;i&lt;a1.length;i++) {
            assertEquals(a1[i], a2[i], precision);
        }
    }

}
</pre></body></html>