Example #1
0
 public CzechLanguageAdapterTests()
 {
     _adapter = new CzechLanguageAdapter();
 }
Example #2
0
 public HomeController(ILogger <HomeController> logger, ILanguageAdapter adapter, IHistoryService historyService)
 {
     _logger         = logger;
     _adapter        = adapter;
     _historyService = historyService;
 }
        /// <summary>
        /// Runs a test of basic functionality on a language adapter.
        /// </summary>
        /// <param name="adapter"></param>
        private void RunTest(ILanguageAdapter adapter)
        {
            // create holders for our exchange items
            List<InputExchangeItem> _inputs = new List<InputExchangeItem>();
            List<OutputExchangeItem> _outputs = new List<OutputExchangeItem>();

            // read the element sets from the xml file
            List<XmlElementSet> elementSets = XmlElementSet.Read(@"..\..\Data\ElementSets.xml");

            // create an input exchange item
            InputExchangeItem inItem = new InputExchangeItem();
            inItem.Quantity = new Quantity("initem");
            inItem.ElementSet = elementSets[0];
            _inputs.Add(inItem);

            // create some fake input data
            double[] values = new double[inItem.ElementSet.ElementCount];
            for (int i = 0; i < values.Length; i++)
                values[i] = 1.0;

            // create an output exchange item
            OutputExchangeItem outItem = new OutputExchangeItem();
            outItem.Quantity = new Quantity("outitem");
            outItem.ElementSet = elementSets[0];
            _outputs.Add(outItem);

            // fake some times
            DateTime startTime = new DateTime(1982, 01, 01, 00, 00, 00);
            double timeStep = 3600;
            DateTime currentTime = startTime;

            // call initialize
            adapter.Start(_inputs, _outputs, startTime, timeStep);

            // set some values and perform a time step
            adapter.SetValues(inItem, values);
            adapter.PerformTimeStep(currentTime);
            currentTime = currentTime.AddSeconds(timeStep);

            // get some values and change them
            values = adapter.GetValues(outItem);
            for (int i = 0; i < values.Length; i++)
                values[i] += 0.1;

            // set some values and perform a time step
            adapter.SetValues(inItem, values);
            adapter.PerformTimeStep(currentTime);
            currentTime = currentTime.AddSeconds(timeStep);

            // get some values and change them
            values = adapter.GetValues(outItem);
            for (int i = 0; i < values.Length; i++)
                values[i] += 0.1;

            // set some values and perform a time step
            adapter.SetValues(inItem, values);
            adapter.PerformTimeStep(currentTime);
            currentTime = currentTime.AddSeconds(timeStep);

            // call finish
            adapter.Stop();
        }