# Path: casiopeia/interfaces/casadi_interface.py
# def sx_sym(name, dim1 = 1, dim2 = 1):
# def sx_function(name, inputs, outputs):
# def mx_sym(name, dim1 = 1, dim2 = 1):
# def mx_function(name, inputs, outputs, options = {}):
# def dmatrix(dim1, dim2 = 1):
# def depends_on(b, a):
# def collocation_points(order, scheme):
# def vertcat(inputlist):
# def veccat(inputlist):
# def horzcat(inputlist):
# def repmat(inputobj, dim1, dim2):
# def vec(inputobj):
# def sqrt(inputobj):
# def mul(inputobj):
# def NlpSolver(name, solver, nlp, options):
# def daeIn(t = None, x = None, p = None):
# def daeOut(ode = None, alg = None):
# def Integrator(name, method, dae, options = {}):
# def diag(inputobj):
# def mx(dim1, dim2):
# def blockcat(a, b, c, d):
# def jacobian(a, b):
# def solve(a, b, solver):
# def mx_eye(dim1):
# def trace(inputobj):
# def det(inputobj):
# def diagcat(inputobj):
# 
# Path: casiopeia/inputchecks.py
# def set_system(system):
# def check_time_points_input(tp):
# def check_controls_data(udata, nu, number_of_controls):
# def check_constant_controls_data(qdata, nq):
# def check_states_data(xdata, nx, number_of_intervals):
# def check_parameter_data(pdata, n_p):
# def check_measurement_data(ydata, nphi, number_of_measurements):
# def check_measurement_weightings(wv, nphi, number_of_measurements):
# def check_input_error_weightings(weps_u, neps_u, number_of_intervals):
# def check_multi_doe_input(doe_setups):
# def check_multi_lsq_input(pe_setups):


import numpy as np
import unittest
import mock
from numpy.testing import assert_array_equal
from casiopeia.interfaces import casadi_interface as ci
from casiopeia import inputchecks
# casiopeia is free software: you can redistribute it and/or modify
# it under the terms of the GNU Lesser General Public License as published by
# the Free Software Foundation, either version 3 of the License, or
# (at your option) any later version.
#
# casiopeia is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warrantime_points of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU Lesser General Public License for more details.
#
# You should have received a copy of the GNU Lesser General Public License
# along with casiopeia. If not, see <http://www.gnu.org/licenses/>.




class SetSystem(unittest.TestCase):

    def setUp(self):

        self.system = "system"


    def test_set_system(self):

        system = "system"

        # A better test would be needed here also to make sure that system is
        # subclass of systems.SystemBaseClass, but this is yet problematic


# Path: casiopeia/interfaces/casadi_interface.py
# def sx_sym(name, dim1 = 1, dim2 = 1):
# def sx_function(name, inputs, outputs):
# def mx_sym(name, dim1 = 1, dim2 = 1):
# def mx_function(name, inputs, outputs, options = {}):
# def dmatrix(dim1, dim2 = 1):
# def depends_on(b, a):
# def collocation_points(order, scheme):
# def vertcat(inputlist):
# def veccat(inputlist):
# def horzcat(inputlist):
# def repmat(inputobj, dim1, dim2):
# def vec(inputobj):
# def sqrt(inputobj):
# def mul(inputobj):
# def NlpSolver(name, solver, nlp, options):
# def daeIn(t = None, x = None, p = None):
# def daeOut(ode = None, alg = None):
# def Integrator(name, method, dae, options = {}):
# def diag(inputobj):
# def mx(dim1, dim2):
# def blockcat(a, b, c, d):
# def jacobian(a, b):
# def solve(a, b, solver):
# def mx_eye(dim1):
# def trace(inputobj):
# def det(inputobj):
# def diagcat(inputobj):
# 
# Path: casiopeia/inputchecks.py
# def set_system(system):
# def check_time_points_input(tp):
# def check_controls_data(udata, nu, number_of_controls):
# def check_constant_controls_data(qdata, nq):
# def check_states_data(xdata, nx, number_of_intervals):
# def check_parameter_data(pdata, n_p):
# def check_measurement_data(ydata, nphi, number_of_measurements):
# def check_measurement_weightings(wv, nphi, number_of_measurements):
# def check_input_error_weightings(weps_u, neps_u, number_of_intervals):
# def check_multi_doe_input(doe_setups):
# def check_multi_lsq_input(pe_setups):


# Path: test/test_inputchecks.py
import numpy as np
import unittest
import mock
from numpy.testing import assert_array_equal
from casiopeia.interfaces import casadi_interface as ci
from casiopeia import inputchecks

# casiopeia is free software: you can redistribute it and/or modify
# it under the terms of the GNU Lesser General Public License as published by
# the Free Software Foundation, either version 3 of the License, or
# (at your option) any later version.
#
# casiopeia is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warrantime_points of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU Lesser General Public License for more details.
#
# You should have received a copy of the GNU Lesser General Public License
# along with casiopeia. If not, see <http://www.gnu.org/licenses/>.




class SetSystem(unittest.TestCase):

    def setUp(self):

        self.system = "system"


    def test_set_system(self):

        system = "system"

        # A better test would be needed here also to make sure that system is
        # subclass of systems.SystemBaseClass, but this is yet problematic


        system = inputchecks.set_system(system)