renamed some classes

This commit is contained in:
hneemann 2017-07-03 19:12:20 +02:00
parent cf5c8ea056
commit 4ae8ec9c36
18 changed files with 105 additions and 105 deletions

View File

@ -27,7 +27,7 @@ import de.neemann.digital.draw.shapes.ShapeFactory;
import de.neemann.digital.gui.sync.NoSync;
import de.neemann.digital.gui.sync.Sync;
import de.neemann.digital.lang.Lang;
import de.neemann.digital.testing.TestData;
import de.neemann.digital.testing.TestCaseDescription;
import de.neemann.gui.language.Language;
import java.io.*;
@ -81,7 +81,7 @@ public class Circuit {
xStream.addImplicitCollection(ElementAttributes.class, "attributes");
xStream.alias("data", DataField.class);
xStream.registerConverter(new DataFieldConverter());
xStream.alias("testData", TestData.class);
xStream.alias("testData", TestCaseDescription.class);
xStream.alias("inverterConfig", InverterConfig.class);
xStream.addImplicitCollection(InverterConfig.class, "inputs");
xStream.ignoreUnknownElements();

View File

@ -18,7 +18,7 @@ import de.neemann.digital.draw.model.ModelCreator;
import de.neemann.digital.draw.model.ModelEntry;
import de.neemann.digital.gui.components.CircuitComponent;
import de.neemann.digital.gui.components.OrderMerger;
import de.neemann.digital.gui.components.data.DataSetObserver;
import de.neemann.digital.gui.components.data.ValueTableObserver;
import de.neemann.digital.gui.sync.Sync;
import java.awt.*;
@ -83,8 +83,8 @@ public class DataShape implements Shape {
}
}.order(signals);
DataSetObserver dataSetObserver = new DataSetObserver(microStep, signals, maxSize);
logData = dataSetObserver.getLogData();
model.addObserver(dataSetObserver);
ValueTableObserver valueTableObserver = new ValueTableObserver(microStep, signals, maxSize);
logData = valueTableObserver.getLogData();
model.addObserver(valueTableObserver);
}
}

View File

@ -23,7 +23,7 @@ import de.neemann.digital.draw.model.RealTimeClock;
import de.neemann.digital.draw.shapes.Drawable;
import de.neemann.digital.draw.shapes.ShapeFactory;
import de.neemann.digital.gui.components.*;
import de.neemann.digital.gui.components.data.DataSetDialog;
import de.neemann.digital.gui.components.data.GraphDialog;
import de.neemann.digital.gui.components.expression.ExpressionDialog;
import de.neemann.digital.gui.components.modification.Modifications;
import de.neemann.digital.gui.components.modification.ModifyAttribute;
@ -1003,9 +1003,9 @@ public final class Main extends JFrame implements ClosingWindowListener.ConfirmS
windowPosManager.register("probe", new ProbeDialog(this, model, updateEvent, ordering, modelSync)).setVisible(true);
if (settings.get(Keys.SHOW_DATA_GRAPH))
windowPosManager.register("dataSet", DataSetDialog.createLiveDialog(this, model, updateEvent == ModelEvent.MICROSTEP, ordering, modelSync)).setVisible(true);
windowPosManager.register("dataSet", GraphDialog.createLiveDialog(this, model, updateEvent == ModelEvent.MICROSTEP, ordering, modelSync)).setVisible(true);
if (settings.get(Keys.SHOW_DATA_GRAPH_MICRO))
windowPosManager.register("dataSetMicro", DataSetDialog.createLiveDialog(this, model, true, ordering, modelSync)).setVisible(true);
windowPosManager.register("dataSetMicro", GraphDialog.createLiveDialog(this, model, true, ordering, modelSync)).setVisible(true);
if (modelModifier != null)
modelModifier.preInit(model);

View File

@ -11,10 +11,10 @@ import de.neemann.digital.draw.elements.VisualElement;
import de.neemann.digital.draw.library.ElementNotFoundException;
import de.neemann.digital.draw.model.InverterConfig;
import de.neemann.digital.gui.SaveAsHelper;
import de.neemann.digital.gui.components.testing.TestDataEditor;
import de.neemann.digital.gui.components.testing.TestCaseDesctiptionEditor;
import de.neemann.digital.gui.sync.NoSync;
import de.neemann.digital.lang.Lang;
import de.neemann.digital.testing.TestData;
import de.neemann.digital.testing.TestCaseDescription;
import de.neemann.gui.*;
import de.neemann.gui.language.Bundle;
import de.neemann.gui.language.Language;
@ -53,7 +53,7 @@ public final class EditorFactory {
add(Rotation.class, RotationEditor.class);
add(IntFormat.class, IntFormatsEditor.class);
add(Language.class, LanguageEditor.class);
add(TestData.class, TestDataEditor.class);
add(TestCaseDescription.class, TestCaseDesctiptionEditor.class);
add(FormatToExpression.class, FormatEditor.class);
add(InverterConfig.class, InverterConfigEditor.class);
}

View File

@ -14,7 +14,7 @@ import java.awt.*;
*
* @author hneemann
*/
public class DataSetComponent extends JComponent {
public class GraphComponent extends JComponent {
private final DataPlotter plotter;
/**
* The data stored in the plotter needs to be seen as part of the model.
@ -28,7 +28,7 @@ public class DataSetComponent extends JComponent {
* @param dataSet the dataSet to paint
* @param modelSync lock to access the model
*/
public DataSetComponent(ValueTable dataSet, Sync modelSync) {
public GraphComponent(ValueTable dataSet, Sync modelSync) {
plotter = new DataPlotter(dataSet).setModelSync(modelSync);
addMouseWheelListener(e -> {
double f = Math.pow(0.9, e.getWheelRotation());

View File

@ -28,12 +28,12 @@ import java.util.List;
*
* @author hneemann
*/
public class DataSetDialog extends JDialog implements ModelStateObserver {
public class GraphDialog extends JDialog implements ModelStateObserver {
private static final int MAX_SAMPLE_SIZE = 1000;
private final DataSetComponent dsc;
private final GraphComponent dsc;
private final JScrollPane scrollPane;
private final Sync modelSync;
private DataSetObserver dataSetObserver;
private ValueTableObserver valueTableObserver;
private static final Icon ICON_EXPAND = IconCreator.create("View-zoom-fit.png");
private static final Icon ICON_ZOOM_IN = IconCreator.create("View-zoom-in.png");
@ -50,7 +50,7 @@ public class DataSetDialog extends JDialog implements ModelStateObserver {
* @param modelSync the lock to access the model
* @return the created instance
*/
public static DataSetDialog createLiveDialog(Frame owner, Model model, boolean microStep, List<String> ordering, Sync modelSync) {
public static GraphDialog createLiveDialog(Frame owner, Model model, boolean microStep, List<String> ordering, Sync modelSync) {
String title;
if (microStep)
title = Lang.get("win_measures_microstep");
@ -65,10 +65,10 @@ public class DataSetDialog extends JDialog implements ModelStateObserver {
}
}.order(signals);
DataSetObserver dataSetObserver = new DataSetObserver(microStep, signals, MAX_SAMPLE_SIZE);
ValueTable logData = dataSetObserver.getLogData();
ValueTableObserver valueTableObserver = new ValueTableObserver(microStep, signals, MAX_SAMPLE_SIZE);
ValueTable logData = valueTableObserver.getLogData();
return new DataSetDialog(owner, title, model, logData, dataSetObserver, modelSync);
return new GraphDialog(owner, title, model, logData, valueTableObserver, modelSync);
}
/**
@ -78,7 +78,7 @@ public class DataSetDialog extends JDialog implements ModelStateObserver {
* @param title the frame title
* @param logData the data to visualize
*/
public DataSetDialog(Frame owner, String title, ValueTable logData) {
public GraphDialog(Frame owner, String title, ValueTable logData) {
this(owner, title, null, logData, null, NoSync.INST);
}
@ -91,14 +91,14 @@ public class DataSetDialog extends JDialog implements ModelStateObserver {
* @param logData the data to visualize
* @param modelSync used to access the running model
*/
private DataSetDialog(Frame owner, String title, Model model, ValueTable logData, DataSetObserver dataSetObserver, Sync modelSync) {
private GraphDialog(Frame owner, String title, Model model, ValueTable logData, ValueTableObserver valueTableObserver, Sync modelSync) {
super(owner, title, false);
this.dataSetObserver = dataSetObserver;
this.valueTableObserver = valueTableObserver;
this.modelSync = modelSync;
setDefaultCloseOperation(DISPOSE_ON_CLOSE);
setAlwaysOnTop(true);
dsc = new DataSetComponent(logData, modelSync);
dsc = new GraphComponent(logData, modelSync);
scrollPane = new JScrollPane(dsc);
getContentPane().add(scrollPane);
dsc.setScrollPane(scrollPane);
@ -136,12 +136,12 @@ public class DataSetDialog extends JDialog implements ModelStateObserver {
addWindowListener(new WindowAdapter() {
@Override
public void windowOpened(WindowEvent e) {
modelSync.access(() -> model.addObserver(DataSetDialog.this));
modelSync.access(() -> model.addObserver(GraphDialog.this));
}
@Override
public void windowClosed(WindowEvent e) {
modelSync.access(() -> model.removeObserver(DataSetDialog.this));
modelSync.access(() -> model.removeObserver(GraphDialog.this));
}
});
@ -155,7 +155,7 @@ public class DataSetDialog extends JDialog implements ModelStateObserver {
public void actionPerformed(ActionEvent e) {
JFileChooser fileChooser = new MyFileChooser();
fileChooser.setFileFilter(new FileNameExtensionFilter("Comma Separated Values", "csv"));
new SaveAsHelper(DataSetDialog.this, fileChooser, "csv")
new SaveAsHelper(GraphDialog.this, fileChooser, "csv")
.checkOverwrite(logData::saveCSV);
}
}.setToolTip(Lang.get("menu_saveData_tt")).createJMenuItem());
@ -174,7 +174,7 @@ public class DataSetDialog extends JDialog implements ModelStateObserver {
@Override
public void handleEvent(ModelEvent event) {
modelSync.access(() -> {
dataSetObserver.handleEvent(event);
valueTableObserver.handleEvent(event);
});
SwingUtilities.invokeLater(() -> {
dsc.revalidate();

View File

@ -13,7 +13,7 @@ import java.util.ArrayList;
*
* @author hneemann
*/
public class DataSetObserver implements ModelStateObserver {
public class ValueTableObserver implements ModelStateObserver {
private final ValueTable logData;
private final ModelEvent type;
@ -28,7 +28,7 @@ public class DataSetObserver implements ModelStateObserver {
* @param signals the signals to log
* @param maxSize the maximum number of data points to store
*/
public DataSetObserver(boolean microStep, ArrayList<Signal> signals, int maxSize) {
public ValueTableObserver(boolean microStep, ArrayList<Signal> signals, int maxSize) {
this.signals = signals;
if (microStep)
this.type = ModelEvent.MICROSTEP;

View File

@ -7,8 +7,8 @@ import de.neemann.digital.gui.components.CircuitComponent;
import de.neemann.digital.gui.components.modification.ModifyAttribute;
import de.neemann.digital.gui.components.table.ShowStringDialog;
import de.neemann.digital.lang.Lang;
import de.neemann.digital.testing.TestCaseDescription;
import de.neemann.digital.testing.TestCaseElement;
import de.neemann.digital.testing.TestData;
import de.neemann.digital.testing.Transitions;
import de.neemann.digital.testing.parser.ParserException;
import de.neemann.gui.ErrorMessage;
@ -25,7 +25,7 @@ import java.io.IOException;
*
* @author hneemann
*/
public class TestDataDialog extends JDialog {
public class TestCaseDescriptionDialog extends JDialog {
/**
* Creates a new data dialog
@ -34,7 +34,7 @@ public class TestDataDialog extends JDialog {
* @param data the data to edit
* @param element the element to be modified
*/
public TestDataDialog(Component parent, TestData data, VisualElement element) {
public TestCaseDescriptionDialog(Component parent, TestCaseDescription data, VisualElement element) {
super(SwingUtilities.getWindowAncestor(parent),
Lang.get("key_Testdata"),
element == null ? ModalityType.APPLICATION_MODAL : ModalityType.MODELESS);
@ -56,7 +56,7 @@ public class TestDataDialog extends JDialog {
@Override
public void actionPerformed(ActionEvent e) {
new ShowStringDialog(
TestDataDialog.this,
TestCaseDescriptionDialog.this,
Lang.get("msg_testVectorHelpTitle"),
Lang.get("msg_testVectorHelp"), true)
.setVisible(true);
@ -75,7 +75,7 @@ public class TestDataDialog extends JDialog {
text.setText(tr.getCompletedText());
}
} catch (ParserException | IOException | PinException e1) {
new ErrorMessage(e1.getMessage()).show(TestDataDialog.this);
new ErrorMessage(e1.getMessage()).show(TestCaseDescriptionDialog.this);
}
}
}
@ -94,7 +94,7 @@ public class TestDataDialog extends JDialog {
cc.getMain().startTests();
}
} catch (ParserException | IOException e1) {
new ErrorMessage(e1.getMessage()).show(TestDataDialog.this);
new ErrorMessage(e1.getMessage()).show(TestCaseDescriptionDialog.this);
}
}
}.createJButton());
@ -109,11 +109,11 @@ public class TestDataDialog extends JDialog {
&& !initialDataString.equals(data.getDataString())
&& parent instanceof CircuitComponent) {
CircuitComponent cc = (CircuitComponent) parent;
cc.modify(new ModifyAttribute<>(element, TestCaseElement.TESTDATA, new TestData(data)));
cc.modify(new ModifyAttribute<>(element, TestCaseElement.TESTDATA, new TestCaseDescription(data)));
}
dispose();
} catch (ParserException | IOException e1) {
new ErrorMessage(e1.getMessage()).show(TestDataDialog.this);
new ErrorMessage(e1.getMessage()).show(TestCaseDescriptionDialog.this);
}
}
}.createJButton());

View File

@ -6,7 +6,7 @@ import de.neemann.digital.draw.elements.VisualElement;
import de.neemann.digital.gui.Main;
import de.neemann.digital.gui.components.EditorFactory;
import de.neemann.digital.lang.Lang;
import de.neemann.digital.testing.TestData;
import de.neemann.digital.testing.TestCaseDescription;
import de.neemann.gui.ToolTipAction;
import javax.swing.*;
@ -16,10 +16,10 @@ import java.awt.event.ActionEvent;
/**
* @author hneemann
*/
public class TestDataEditor extends EditorFactory.LabelEditor<TestData> {
public class TestCaseDesctiptionEditor extends EditorFactory.LabelEditor<TestCaseDescription> {
private final TestData data;
private final Key<TestData> key;
private final TestCaseDescription data;
private final Key<TestCaseDescription> key;
/**
* Creates a new editor
@ -27,13 +27,13 @@ public class TestDataEditor extends EditorFactory.LabelEditor<TestData> {
* @param data the data to edit
* @param key the data key
*/
public TestDataEditor(TestData data, Key<TestData> key) {
this.data = new TestData(data);
public TestCaseDesctiptionEditor(TestCaseDescription data, Key<TestCaseDescription> key) {
this.data = new TestCaseDescription(data);
this.key = key;
}
@Override
public TestData getValue() {
public TestCaseDescription getValue() {
return data;
}
@ -44,7 +44,7 @@ public class TestDataEditor extends EditorFactory.LabelEditor<TestData> {
panel.add(new ToolTipAction(Lang.get("btn_edit")) {
@Override
public void actionPerformed(ActionEvent e) {
new TestDataDialog(panel, data, null).setVisible(true);
new TestCaseDescriptionDialog(panel, data, null).setVisible(true);
}
}.createJButton());
@ -52,8 +52,8 @@ public class TestDataEditor extends EditorFactory.LabelEditor<TestData> {
@Override
public void actionPerformed(ActionEvent e) {
getAttributeDialog().fireOk();
VisualElement visualElement = TestDataEditor.this.getAttributeDialog().getVisualElement();
TestDataDialog dialog = new TestDataDialog(getAttributeDialog().getDialogParent(), data, visualElement);
VisualElement visualElement = TestCaseDesctiptionEditor.this.getAttributeDialog().getVisualElement();
TestCaseDescriptionDialog dialog = new TestCaseDescriptionDialog(getAttributeDialog().getDialogParent(), data, visualElement);
Main main = getAttributeDialog().getMain();
if (main != null)
main.getWindowPosManager().register("testdata", dialog);

View File

@ -10,7 +10,7 @@ import de.neemann.digital.draw.elements.PinException;
import de.neemann.digital.draw.library.ElementLibrary;
import de.neemann.digital.draw.library.ElementNotFoundException;
import de.neemann.digital.draw.model.ModelCreator;
import de.neemann.digital.gui.components.data.DataSetDialog;
import de.neemann.digital.gui.components.data.GraphDialog;
import de.neemann.digital.lang.Lang;
import de.neemann.digital.testing.*;
import de.neemann.gui.ErrorMessage;
@ -66,22 +66,22 @@ public class TestResultDialog extends JDialog {
for (TestSet ts : tsl) {
Model model = new ModelCreator(circuit, library).createModel(false);
TestExecuter testExecuter = new TestExecuter(ts.data).create(model);
TestExecutor testExecutor = new TestExecutor(ts.data).create(model);
if (testExecuter.getException() != null)
SwingUtilities.invokeLater(new ErrorMessage(Lang.get("msg_errorWhileExecutingTests_N0", ts.name)).addCause(testExecuter.getException()).setComponent(this));
if (testExecutor.getException() != null)
SwingUtilities.invokeLater(new ErrorMessage(Lang.get("msg_errorWhileExecutingTests_N0", ts.name)).addCause(testExecutor.getException()).setComponent(this));
JTable table = new JTable(new ValueTableModel(testExecuter.getResult()));
JTable table = new JTable(new ValueTableModel(testExecutor.getResult()));
table.setDefaultRenderer(Value.class, new ValueRenderer());
table.setDefaultRenderer(Integer.class, new NumberRenderer());
final Font font = table.getFont();
table.getColumnModel().getColumn(0).setMaxWidth(font.getSize() * 4);
table.setRowHeight(font.getSize() * 6 / 5);
resultTableData.add(testExecuter.getResult());
resultTableData.add(testExecutor.getResult());
String tabName;
Icon tabIcon;
if (testExecuter.allPassed()) {
if (testExecutor.allPassed()) {
tabName = Lang.get("msg_test_N_Passed", ts.name);
tabIcon = ICON_PASSED;
} else {
@ -89,11 +89,11 @@ public class TestResultDialog extends JDialog {
tabIcon = ICON_FAILED;
errorTabIndex = i;
}
if (testExecuter.toManyResults())
if (testExecutor.toManyResults())
tabName += " " + Lang.get("msg_test_missingLines");
tp.addTab(tabName, tabIcon, new JScrollPane(table));
if (testExecuter.toManyResults())
if (testExecutor.toManyResults())
tp.setToolTipTextAt(i, new LineBreaker().toHTML().breakLines(Lang.get("msg_test_missingLines_tt")));
i++;
}
@ -108,7 +108,7 @@ public class TestResultDialog extends JDialog {
public void actionPerformed(ActionEvent actionEvent) {
int tab = tp.getSelectedIndex();
if (tab < 0) tab = 0;
new DataSetDialog(owner, Lang.get("win_testdata_N", tp.getTitleAt(tab)), resultTableData.get(tab)).setVisible(true);
new GraphDialog(owner, Lang.get("win_testdata_N", tp.getTitleAt(tab)), resultTableData.get(tab)).setVisible(true);
}
}.setToolTip(Lang.get("menu_showDataAsGraph_tt"));
view.add(asGraph.createJMenuItem());
@ -125,12 +125,12 @@ public class TestResultDialog extends JDialog {
}
/**
* A TestSet contains the {@link TestData} and the name of the TestData.
* A TestSet contains the {@link TestCaseDescription} and the name of the TestData.
* Is only a value bean
*/
public static class TestSet implements Comparable<TestSet> {
private final TestData data;
private final TestCaseDescription data;
private final String name;
/**
@ -139,7 +139,7 @@ public class TestResultDialog extends JDialog {
* @param data the TestData
* @param name the name of the data, eg. the used label
*/
public TestSet(TestData data, String name) {
public TestSet(TestCaseDescription data, String name) {
this.data = data;
this.name = name;
}

View File

@ -12,7 +12,7 @@ import java.util.ArrayList;
public class LineListenerResolveDontCare implements LineListener {
private final LineListener parent;
private final ArrayList<TestExecuter.TestSignal> inputs;
private final ArrayList<TestExecutor.TestSignal> inputs;
/**
* Create a new instance
@ -20,33 +20,33 @@ public class LineListenerResolveDontCare implements LineListener {
* @param parent the parent listener
* @param inputs the input test signals
*/
public LineListenerResolveDontCare(LineListener parent, ArrayList<TestExecuter.TestSignal> inputs) {
public LineListenerResolveDontCare(LineListener parent, ArrayList<TestExecutor.TestSignal> inputs) {
this.parent = parent;
this.inputs = inputs;
}
@Override
public void add(Value[] rowWithDontCare) {
public void add(Value[] row) {
ArrayList<Integer> dcIndex = null;
for (TestExecuter.TestSignal in : inputs) {
if (rowWithDontCare[in.getIndex()].getType() == Value.Type.DONTCARE) {
for (TestExecutor.TestSignal in : inputs) {
if (row[in.getIndex()].getType() == Value.Type.DONTCARE) {
if (dcIndex == null)
dcIndex = new ArrayList<>();
dcIndex.add(in.getIndex());
}
}
if (dcIndex == null)
parent.add(rowWithDontCare);
parent.add(row);
else {
int count = 1 << dcIndex.size();
for (int n = 0; n < count; n++) {
int mask = 1;
for (int in : dcIndex) {
boolean val = (n & mask) != 0;
rowWithDontCare[in] = new Value(val ? 1 : 0);
row[in] = new Value(val ? 1 : 0);
mask *= 2;
}
parent.add(rowWithDontCare);
parent.add(row);
}
}
}

View File

@ -13,18 +13,18 @@ import java.util.ArrayList;
*
* @author hneemann
*/
public class TestData {
public class TestCaseDescription {
/**
* the default instance
*/
public static final TestData DEFAULT = new TestData("");
public static final TestCaseDescription DEFAULT = new TestCaseDescription("");
private String dataString;
private transient LineEmitter lines;
private transient ArrayList<String> names;
TestData(String data) {
TestCaseDescription(String data) {
this.dataString = data;
}
@ -33,7 +33,7 @@ public class TestData {
*
* @param valueToCopy the instance to copy
*/
public TestData(TestData valueToCopy) {
public TestCaseDescription(TestCaseDescription valueToCopy) {
this(valueToCopy.dataString);
}
@ -95,9 +95,9 @@ public class TestData {
if (this == o) return true;
if (o == null || getClass() != o.getClass()) return false;
TestData testData = (TestData) o;
TestCaseDescription testCaseDescription = (TestCaseDescription) o;
return dataString != null ? dataString.equals(testData.dataString) : testData.dataString == null;
return dataString != null ? dataString.equals(testCaseDescription.dataString) : testCaseDescription.dataString == null;
}
@Override

View File

@ -15,7 +15,7 @@ public class TestCaseElement implements Element {
/**
* the used {@link ElementAttributes} key
*/
public static final Key<TestData> TESTDATA = new Key<>("Testdata", TestData.DEFAULT);
public static final Key<TestCaseDescription> TESTDATA = new Key<>("Testdata", TestCaseDescription.DEFAULT);
/**
* The TestCaseElement description

View File

@ -16,12 +16,12 @@ import java.util.ArrayList;
import java.util.HashSet;
/**
* Stores the test results created by a single {@link TestData} instance.
* Stores the test results created by a single {@link TestCaseDescription} instance.
* The class also performs the tests.
*
* @author hneemann
*/
public class TestExecuter {
public class TestExecutor {
private static final int MAX_RESULTS = 1 << 10;
private static final int ERR_RESULTS = MAX_RESULTS * 2;
@ -37,13 +37,13 @@ public class TestExecuter {
/**
* Creates a new testing result
*
* @param testData the testing data
* @param testCaseDescription the testing data
* @throws TestingDataException DataException
*/
public TestExecuter(TestData testData) throws TestingDataException {
names = testData.getNames();
public TestExecutor(TestCaseDescription testCaseDescription) throws TestingDataException {
names = testCaseDescription.getNames();
results = new ValueTable(names);
lines = testData.getLines();
lines = testCaseDescription.getLines();
}
/**
@ -54,7 +54,7 @@ public class TestExecuter {
* @throws TestingDataException DataException
* @throws NodeException NodeException
*/
public TestExecuter create(Model model) throws TestingDataException, NodeException {
public TestExecutor create(Model model) throws TestingDataException, NodeException {
allPassed = true;
HashSet<String> usedSignals = new HashSet<>();

View File

@ -4,7 +4,7 @@ import de.neemann.digital.data.Value;
import de.neemann.digital.data.ValueTable;
import de.neemann.digital.draw.graphics.Export;
import de.neemann.digital.draw.graphics.GraphicsImage;
import de.neemann.digital.gui.components.data.DataSetObserver;
import de.neemann.digital.gui.components.data.ValueTableObserver;
import junit.framework.TestCase;
import java.io.BufferedWriter;
@ -14,7 +14,7 @@ import java.io.StringWriter;
/**
* @author hneemann
*/
public class TestData extends TestCase {
public class TestCaseDescription extends TestCase {
/**
* Runs a 4 bit counter build from JK flip flops 16 ticks.
@ -27,7 +27,7 @@ public class TestData extends TestCase {
// check recorded data
ValueTable dataSet = toBreakRunner.getModel()
.getObserver(DataSetObserver.class)
.getObserver(ValueTableObserver.class)
.getLogData();
assertEquals(31, dataSet.getRows());

View File

@ -4,8 +4,8 @@ import de.neemann.digital.core.Model;
import de.neemann.digital.draw.elements.VisualElement;
import de.neemann.digital.draw.model.ModelCreator;
import de.neemann.digital.testing.TestCaseElement;
import de.neemann.digital.testing.TestData;
import de.neemann.digital.testing.TestExecuter;
import de.neemann.digital.testing.TestCaseDescription;
import de.neemann.digital.testing.TestExecutor;
import junit.framework.TestCase;
import java.io.File;
@ -66,10 +66,10 @@ public class TestExamples extends TestCase {
if (el.equalsDescription(TestCaseElement.TESTCASEDESCRIPTION)) {
String label = el.getElementAttributes().getCleanLabel();
TestData td = el.getElementAttributes().get(TestCaseElement.TESTDATA);
TestCaseDescription td = el.getElementAttributes().get(TestCaseElement.TESTDATA);
Model model = new ModelCreator(br.getCircuit(), br.getLibrary()).createModel(false);
TestExecuter tr = new TestExecuter(td).create(model);
TestExecutor tr = new TestExecutor(td).create(model);
if (label.contains("Failing"))
assertFalse(dig.getName() + ":" + label, tr.allPassed());

View File

@ -15,7 +15,7 @@ public class TestDataTest extends TestCase {
private static final String DATA3 = "A B\n0 0\n0 1\n1 0\n1 U";
public void testSetDataNonParseable() throws Exception {
TestData td = new TestData(DATA1);
TestCaseDescription td = new TestCaseDescription(DATA1);
LineCollector cl = new LineCollector(td.getLines());
@ -34,7 +34,7 @@ public class TestDataTest extends TestCase {
}
public void testSetDataParseable() throws Exception {
TestData td = new TestData(DATA1);
TestCaseDescription td = new TestCaseDescription(DATA1);
LineCollector cl = new LineCollector(td.getLines());

View File

@ -37,26 +37,26 @@ public class TestResultTest extends TestCase {
public void testResultOk() throws Exception {
Model model = getModel("A^B");
TestData data = new TestData(
TestCaseDescription data = new TestCaseDescription(
"A B Y\n"
+ "0 0 0\n"
+ "0 1 1\n"
+ "1 0 1\n"
+ "1 1 0\n");
TestExecuter tr = new TestExecuter(data).create(model);
TestExecutor tr = new TestExecutor(data).create(model);
assertEquals(4,tr.getResult().getRows());
assertTrue(tr.allPassed());
}
public void testResultError() throws Exception {
Model model = getModel("A+B");
TestData data = new TestData(
TestCaseDescription data = new TestCaseDescription(
"A B Y\n"
+ "0 0 0\n"
+ "0 1 1\n"
+ "1 0 1\n"
+ "1 1 0\n");
TestExecuter te = new TestExecuter(data).create(model);
TestExecutor te = new TestExecutor(data).create(model);
ValueTable tr = te.getResult();
assertEquals(4,tr.getRows());
assertFalse(te.allPassed());
@ -68,13 +68,13 @@ public class TestResultTest extends TestCase {
public void testResultDontCare() throws Exception {
Model model = getModel("A+B");
TestData data = new TestData(
TestCaseDescription data = new TestCaseDescription(
"A B Y\n"
+ "0 0 0\n"
+ "0 1 1\n"
+ "1 0 1\n"
+ "1 1 x\n");
TestExecuter te = new TestExecuter(data).create(model);
TestExecutor te = new TestExecutor(data).create(model);
ValueTable tr = te.getResult();
assertEquals(4,tr.getRows());
assertTrue(te.allPassed());
@ -82,13 +82,13 @@ public class TestResultTest extends TestCase {
public void testResultDontCare2() throws Exception {
Model model = getModel("A+B");
TestData data = new TestData(
TestCaseDescription data = new TestCaseDescription(
"A B Y\n"
+ "0 0 x\n"
+ "0 1 1\n"
+ "1 0 1\n"
+ "1 1 1\n");
TestExecuter te = new TestExecuter(data).create(model);
TestExecutor te = new TestExecutor(data).create(model);
ValueTable tr = te.getResult();
assertEquals(4,tr.getRows());
assertTrue(te.allPassed());
@ -96,11 +96,11 @@ public class TestResultTest extends TestCase {
public void testResultDontCareInput() throws Exception {
Model model = getModel("A*0+B");
TestData data = new TestData(
TestCaseDescription data = new TestCaseDescription(
"A B Y\n"
+ "x 0 0\n"
+ "x 1 1\n");
TestExecuter te = new TestExecuter(data).create(model);
TestExecutor te = new TestExecutor(data).create(model);
ValueTable tr = te.getResult();
assertEquals(4,tr.getRows());
assertTrue(te.allPassed());
@ -108,11 +108,11 @@ public class TestResultTest extends TestCase {
public void testResultDontCareInput2() throws Exception {
Model model = getModel("A*0+B*0+C");
TestData data = new TestData(
TestCaseDescription data = new TestCaseDescription(
"A B C Y\n"
+ "x x 0 0\n"
+ "x x 1 1\n");
TestExecuter te = new TestExecuter(data).create(model);
TestExecutor te = new TestExecutor(data).create(model);
ValueTable tr = te.getResult();
assertEquals(8,tr.getRows());
assertTrue(te.allPassed());