<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 java.util.Scanner;
import junit.framework.TestCase;

// wersja 1.00
public class wyrazeniaTest extends TestCase {


    public void testStale() {
        StaĹa s = StaĹa.twĂłrz(5);
        assertEquals("5.0",s.toString());
        assertEquals(5.0,s.policz(1));
        assertEquals(5.0,s.policz(2));
        StaĹa s_zero = StaĹa.twĂłrz(0);
        assertEquals("0.0",s_zero.toString());
        StaĹa s_jeden = StaĹa.twĂłrz(1);
        assertEquals("1.0",s_jeden.toString());
    }
    
    public void testDodawanie() {
        assertEquals(4.0,StaĹa.twĂłrz(2).dodaj(StaĹa.twĂłrz(2)).policz(0));
        // czy dziaĹa upraszczanie
        assertEquals("4.0",StaĹa.twĂłrz(2).dodaj(StaĹa.twĂłrz(2)).toString());
    }

    public void testOdejmowanie() {
        assertEquals(1.0,StaĹa.twĂłrz(2).odejmij(StaĹa.twĂłrz(1)).policz(0));
        // czy dziaĹa upraszczanie
        assertEquals("1.0",StaĹa.twĂłrz(2).odejmij(StaĹa.twĂłrz(1)).toString());
    }

    public void testMnozenie() {
        assertEquals(6.0,StaĹa.twĂłrz(2).pomnĂłĹź(StaĹa.twĂłrz(3)).policz(0));
        // czy dziaĹa upraszczanie
        assertEquals("6.0",StaĹa.twĂłrz(2).pomnĂłĹź(StaĹa.twĂłrz(3)).toString());
    }

    public void testDzielenie() {
        assertEquals(3.0,StaĹa.twĂłrz(6).podziel(StaĹa.twĂłrz(2)).policz(0));
        assertEquals("3.0",StaĹa.twĂłrz(6).podziel(StaĹa.twĂłrz(2)).toString());
    }

    public void testPriorytety() {
        assertEquals("(x+2.0)*3.0",Zmienna.twĂłrz().dodaj(StaĹa.twĂłrz(2)).pomnĂłĹź(StaĹa.twĂłrz(3)).toString());
    }


    public void testZmienna() {
        assertEquals(0.0,Zmienna.twĂłrz().policz(0));
        assertEquals(1.0,Zmienna.twĂłrz().policz(1));
        assertEquals(2.0,Zmienna.twĂłrz().policz(2));
        assertEquals("x",Zmienna.twĂłrz().toString());
        assertEquals("x+1.0",Zmienna.twĂłrz().dodaj(StaĹa.twĂłrz(1)).toString());
        // upraszczanie
        assertEquals("x",Zmienna.twĂłrz().dodaj(StaĹa.twĂłrz(0)).toString());
        assertEquals("x",Zmienna.twĂłrz().pomnĂłĹź(StaĹa.twĂłrz(1)).toString());
    }

    public void testPochodna() {
        assertEquals("1.0",Zmienna.twĂłrz().pochodna().toString());
        assertEquals("x+x",Zmienna.twĂłrz().pomnĂłĹź(Zmienna.twĂłrz()).pochodna().toString());
        assertEquals("2.0",Zmienna.twĂłrz().dodaj(Zmienna.twĂłrz()).pochodna().toString());
        assertEquals("0.0",Zmienna.twĂłrz().odejmij(Zmienna.twĂłrz()).pochodna().toString());
        assertEquals("(x-x)/(x*x)",Zmienna.twĂłrz().podziel(Zmienna.twĂłrz()).pochodna().toString());
        assertEquals("-(sin(x))",new Cos(Zmienna.twĂłrz()).pochodna().toString());
    }

    public void testCaĹka() {
        assertTrue(Math.abs(2.0-Zmienna.twĂłrz().caĹka(0,2,3))&lt;0.01);
        assertTrue(Math.abs(2.0-Zmienna.twĂłrz().caĹka(0,2,10))&lt;0.01);
        assertEquals(20.0,StaĹa.twĂłrz(2).caĹka(0,10,10));
    }


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