de.thkwalter.et.schlupfbezifferung.BetriebspunktTest.java Source code

Java tutorial

Introduction

Here is the source code for de.thkwalter.et.schlupfbezifferung.BetriebspunktTest.java

Source

/**
 *  Copyright 2014 Th. K. Walter, Nrnberg.
 *
 *  Licensed under the Apache License, Version 2.0 (the "License");
 *  you may not use this file except in compliance with the License.
 *  You may obtain a copy of the License at
 *
 *      http://www.apache.org/licenses/LICENSE-2.0
 *
 *  Unless required by applicable law or agreed to in writing, software
 *  distributed under the License is distributed on an "AS IS" BASIS,
 *  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 *  See the License for the specific language governing permissions and
 *  limitations under the License.
 */
package de.thkwalter.et.schlupfbezifferung;

import static org.junit.Assert.assertEquals;
import static org.junit.Assert.assertNotNull;
import static org.junit.Assert.assertTrue;

import java.lang.reflect.Field;

import org.apache.commons.math3.complex.Complex;
import org.junit.Before;
import org.junit.Test;

/**
 * Dieses Klasse enthlt Tests fr die Klasse {@link Betriebspunkt}.
 * 
 * @author Th. K. Walter
 */
public class BetriebspunktTest {
    /**
     * Der Prfling der Klasse {@link Betriebspunkt}.
     */
    private Betriebspunkt betriebspunkt;

    // =====================================================================================================================
    // =====================================================================================================================

    /**
     * Diese Methode initialisert die Tests.
     * 
     * @throws java.lang.Exception
     */
    @Before
    public void setUp() throws Exception {
        // Der Prfling wird erzeugt.
        this.betriebspunkt = new Betriebspunkt(1.0, 0.5);
    }

    // =====================================================================================================================
    // =====================================================================================================================

    /**
     * Test des Konstruktors {@link Betriebspunkt#Betriebspunkt()}
     * 
     * @throws SecurityException 
     * @throws NoSuchFieldException 
     * @throws IllegalAccessException 
     * @throws IllegalArgumentException 
     */
    @Test
    public void testBetriebspunkt()
            throws NoSuchFieldException, SecurityException, IllegalArgumentException, IllegalAccessException {
        // Es wird berprft, ob der Prfling erzeugt worden ist.
        assertNotNull(this.betriebspunkt);

        // Die im Prfling gespeicherte, komplexe Stnderstromstrke (in A) wird gelesen.
        Field i_1Feld = Betriebspunkt.class.getDeclaredField("i_1");
        i_1Feld.setAccessible(true);
        Complex i_1 = (Complex) i_1Feld.get(this.betriebspunkt);

        // Es wird berprft, ob die komplexe Stnderstromstrke (in A) korrekt initialisert worden ist.
        assertEquals(new Complex(0.5, -1.0), i_1);
    }

    // =====================================================================================================================
    // =====================================================================================================================

    /**
     * Test der Methode {@link Betriebspunkt#getI_1x()}.
     * 
     * @throws SecurityException 
     * @throws NoSuchFieldException 
     * @throws IllegalAccessException 
     * @throws IllegalArgumentException 
     */
    @Test
    public void testGetI_1x()
            throws NoSuchFieldException, SecurityException, IllegalArgumentException, IllegalAccessException {
        // Die in diesem Test verwendete komplexe Stnderstromstrke (in A) wird erzeugt.
        Complex testI_1 = new Complex(4.0, 2.0);

        // Die in diesem Test verwendete komplexe Stnderstromstrke (in A) wird im Prfling gespeichert.
        Field i_1Feld = Betriebspunkt.class.getDeclaredField("i_1");
        i_1Feld.setAccessible(true);
        i_1Feld.set(this.betriebspunkt, testI_1);

        // Es wird berprft, ob die x-Komponente der komplexen Stnderstromstrke (in A) korrekt zurckgegeben wird.
        assertEquals(-2.0, this.betriebspunkt.getI_1x(), 0.0);
    }

    // =====================================================================================================================
    // =====================================================================================================================

    /**
     * Test der Methode {@link Betriebspunkt#getI_1y()}.
     * 
     * @throws SecurityException 
     * @throws NoSuchFieldException 
     * @throws IllegalAccessException 
     * @throws IllegalArgumentException 
     */
    @Test
    public void testGetI_1y()
            throws NoSuchFieldException, SecurityException, IllegalArgumentException, IllegalAccessException {
        // Die in diesem Test verwendete komplexe Stnderstromstrke (in A) wird erzeugt.
        Complex testI_1 = new Complex(4.0, 2.0);

        // Die in diesem Test verwendete komplexe Stnderstromstrke (in A) wird im Prfling gespeichert.
        Field i_1Feld = Betriebspunkt.class.getDeclaredField("i_1");
        i_1Feld.setAccessible(true);
        i_1Feld.set(this.betriebspunkt, testI_1);

        // Es wird berprft, ob die x-Komponente der komplexen Stnderstromstrke (in A) korrekt zurckgegeben wird.
        assertEquals(4.0, this.betriebspunkt.getI_1y(), 0.0);

        // Es wird berprft, ob der Schlupf korrekt initialisiert worden ist.
        assertTrue(Double.isNaN(this.betriebspunkt.getS()));
    }

    // =====================================================================================================================
    // =====================================================================================================================

    /**
     * Test der Methode {@link Betriebspunkt#getS()}.
     * 
     * @throws SecurityException 
     * @throws NoSuchFieldException 
     * @throws IllegalAccessException 
     * @throws IllegalArgumentException 
     */
    @Test
    public void testGetS()
            throws NoSuchFieldException, SecurityException, IllegalArgumentException, IllegalAccessException {
        // Der in diesem Test verwendete Schlupf wird im Prfling gespeichert.
        Field sFeld = Betriebspunkt.class.getDeclaredField("s");
        sFeld.setAccessible(true);
        sFeld.set(this.betriebspunkt, new Double(0.1));

        // Es wird berprft, ob der Schlupf korrekt zurckgegeben wird.
        assertEquals(0.1, this.betriebspunkt.getS(), 0.0);
    }

    // =====================================================================================================================
    // =====================================================================================================================

    /**
     * Test der Methode {@link Betriebspunkt#setS(double)}.
     */
    @Test
    public void testSetS()
            throws NoSuchFieldException, SecurityException, IllegalArgumentException, IllegalAccessException {
        // Die zu testende Methode wird aufgerufen.
        this.betriebspunkt.setS(0.1);

        // Es wird berprft, ob der Schlupf korrekt im Prfling gespeichert worden ist.
        assertEquals(0.1, this.betriebspunkt.getS(), 0.1);
    }
}