public void CircuitProjectSaveLoadTest() { string dir = Path.Combine(this.TestContext.TestRunDirectory, this.TestContext.TestName + DateTime.UtcNow.Ticks, "Some Test Sub Directory"); string file = Path.Combine(dir, "My Test File.CircuitProject"); // save in inexistent folder CircuitProject project1 = CircuitProject.Create(null); project1.InTransaction(() => { LogicalCircuit main = project1.ProjectSet.Project.LogicalCircuit; CircuitButton button = project1.CircuitButtonSet.Create("b", false, PinSide.Right); CircuitSymbol buttonSymbol = project1.CircuitSymbolSet.Create(button, main, 1, 2); Gate led = project1.GateSet.Gate(GateType.Led, 1, false); project1.CircuitSymbolSet.Create(led, main, 6, 2); Wire wire = project1.WireSet.Create(main, new GridPoint(3, 3), new GridPoint(6, 3)); }); Assert.IsTrue(!Directory.Exists(dir)); project1.Save(file); Assert.IsTrue(File.Exists(file)); CircuitProject project2 = CircuitProject.Create(file); Assert.IsTrue(ProjectTester.Equal(project1, project2)); // save in existing folder and existing file. CircuitProject project3 = ProjectTester.Load(this.TestContext, Properties.Resources.Digital_Clock, null); Assert.IsTrue(File.Exists(file)); project3.Save(file); CircuitProject project4 = CircuitProject.Create(file); File.Delete(file); Assert.IsTrue(ProjectTester.Equal(project3, project4)); }
public static bool Equal(CircuitProject x, CircuitProject y) { Assert.IsNotNull(x); Assert.IsNotNull(y); return( ProjectTester.Equal(x.ProjectSet.Table, y.ProjectSet.Table) && ProjectTester.Equal(x.CollapsedCategorySet.Table, y.CollapsedCategorySet.Table) && ProjectTester.EqualCount(x.CircuitSet.Table, y.CircuitSet.Table) && ProjectTester.EqualCount(x.DevicePinSet.Table, y.DevicePinSet.Table) && ProjectTester.EqualCount(x.GateSet.Table, y.GateSet.Table) && ProjectTester.Equal(x.LogicalCircuitSet.Table, y.LogicalCircuitSet.Table) && ProjectTester.Equal(x.PinSet.Table, y.PinSet.Table) && ProjectTester.Equal(x.ConstantSet.Table, y.ConstantSet.Table) && ProjectTester.Equal(x.ConstantSet.Table, y.ConstantSet.Table) && ProjectTester.Equal(x.CircuitButtonSet.Table, y.CircuitButtonSet.Table) && ProjectTester.Equal(x.MemorySet.Table, y.MemorySet.Table) && ProjectTester.Equal(x.LedMatrixSet.Table, y.LedMatrixSet.Table) && ProjectTester.Equal(x.SplitterSet.Table, y.SplitterSet.Table) && ProjectTester.Equal(x.CircuitSymbolSet.Table, y.CircuitSymbolSet.Table) && ProjectTester.Equal(x.WireSet.Table, y.WireSet.Table) && ProjectTester.Equal(x.TextNoteSet.Table, y.TextNoteSet.Table) ); }