Improved tests and commented out wire listeners for more performance
[Mograsim.git] / net.mograsim.logic.model.am2900 / test / net / mograsim / logic / model / am2900 / TestableAm2901Impl.java
index 98a6d10..7d44f8b 100644 (file)
@@ -24,12 +24,12 @@ import net.mograsim.logic.model.model.ViewModelModifiable;
 import net.mograsim.logic.model.model.components.GUIComponent;
 import net.mograsim.logic.model.model.components.atomic.GUIBitDisplay;
 import net.mograsim.logic.model.model.components.atomic.GUIManualSwitch;
-import net.mograsim.logic.model.model.components.mi.nandbased.am2901.GUIAm2901;
 import net.mograsim.logic.model.model.components.submodels.SubmodelComponent;
 import net.mograsim.logic.model.model.wires.GUIWire;
 import net.mograsim.logic.model.model.wires.Pin;
 import net.mograsim.logic.model.modeladapter.LogicModelParameters;
 import net.mograsim.logic.model.modeladapter.ViewLogicModelAdapter;
+import net.mograsim.logic.model.serializing.IndirectGUIComponentCreator;
 
 public class TestableAm2901Impl implements TestableAm2901
 {
@@ -103,11 +103,9 @@ public class TestableAm2901Impl implements TestableAm2901
        {
                // Create view model
                ViewModelModifiable viewModel = new ViewModelModifiable();
-               // TODO replace with deserialized version as soon as high level states work for deserialized components
-               am2901 = new GUIAm2901(viewModel);
-//             am2901 = IndirectGUIComponentCreator.createComponent(viewModel, "GUIAm2901");
+               am2901 = IndirectGUIComponentCreator.createComponent(viewModel, "GUIAm2901");
                // guess which pins are outputs and which are inputs
-               // TODO this code exists three times... but it seems too "hacky" to put it in a helper class
+               // TODO this code exists four times... but it seems too "hacky" to put it in a helper class
                List<String> inputPinNames = new ArrayList<>();
                List<String> outputPinNames = new ArrayList<>();
                for (Pin p : am2901.getPins().values())
@@ -155,13 +153,14 @@ public class TestableAm2901Impl implements TestableAm2901
                                if (comp instanceof SubmodelComponent)
                                        modelsToIterate.offer(((SubmodelComponent) comp).submodel);
                }
-               wiresIncludingSubmodels.forEach(w -> w.addRedrawListener(() ->
-               {
-                       if (debugWires)
-                       {
-                               wireDebugChangeSet.add(w.toString());
-                       }
-               }));
+               System.out.println(wiresIncludingSubmodels.size());
+//             viewModel.setRedrawHandler(() -> wiresIncludingSubmodels.forEach(w ->
+//             {
+//                     if (debugWires)
+//                     {
+//                             wireDebugChangeSet.add(w.toString());
+//                     }
+//             }));
                timeline.addEventAddedListener(te -> eventCounter++);
        }