public void SerializeAndDeserialize() { var circuitToSave = new CircuitData(); var andGateData = new AndGateData(); var input1 = new InputData(); input1.Id = Guid.NewGuid(); var input2 = new InputData(); input2.Id = Guid.NewGuid(); andGateData.Input1 = input1; andGateData.Input2 = input2; andGateData.Delay = 10; andGateData.Id = Guid.NewGuid(); circuitToSave.Elements.Add(andGateData); CircuitData circuitToRead; using (var stream = new MemoryStream()) { CircuitDataWriter.Write(circuitToSave, stream); stream.Seek(0, SeekOrigin.Begin); // przewinięcie z powrotem na początek circuitToRead = CircuitDataReader.Read(stream); } var andGate = (AndGateData)circuitToRead.Elements[0]; Assert.AreEqual(andGateData.Id, andGate.Id); Assert.AreEqual(andGateData.Delay, andGate.Delay); }
private CircuitData ReadData(string fileName) { try { return(CircuitDataReader.ReadFromFile(fileName)); } catch (SimulationException e) { DialogUtils.ShowOpenFileError(null, fileName, e.InnerException.Message); return(null); } }
private static void Run(ProgramArguments arguments) { try { var circuitData = CircuitDataReader.ReadFromFile(arguments.CircuitFile); var simulator = new CircuitSimulator(circuitData); var simulationData = simulator.Simulate(new List <InitialSwitchState>(), new List <InitialGeneratorState>()); var writer = new SimulationDataWriter(simulationData); writer.WriteToFile(simulationData, arguments.OutputSimulationFile); } catch (SimulationException exception) { System.Console.WriteLine("Error while producing simulation:"); System.Console.WriteLine(exception.ToString()); } }