private void AddModuleOfType(GadgeteerModel target, string moduleType) { Module m = new Module(Store); m.ModuleType = moduleType; target.GadgeteerHardware.Add(m); }
public void GetNamespaceTest() { Action <string, string> test = (typeName, expectedNamespace) => { string actual = GadgeteerModel.GetNamespace(typeName); Assert.AreEqual(expectedNamespace, actual); }; test("", null); test("Foo", null); test("Bar.Foo", "Bar"); test("A.Bar.Foo", "A.Bar"); }
private static void TestModelCreation(bool newModel, int expectedMainboards) { var store = new Store(typeof(GadgeteerDSLDomainModel)); using (var tx = store.TransactionManager.BeginTransaction()) { var model = new GadgeteerModel(store); model.NewModel = newModel; tx.Commit(); } int mbCount = store.ElementDirectory.FindElements <Mainboard>().Count; Assert.AreEqual(expectedMainboards, mbCount); }
public void GetNamespacesTest() { GadgeteerModel target = null; DoInTransaction(() => { target = this.GadgeteerModel; AddModuleOfType(target, "Foo"); //no namespace AddModuleOfType(target, ""); //empty or missing typename, make sure we don't crash AddModuleOfType(target, "A.B.C"); AddModuleOfType(target, "Bar.Foo"); //empty or missing typename, make sure we don't crash AddModuleOfType(target, "A.B.C"); //Ensure no duplicates }); Assert.IsTrue(target.GetModuleNamespaces().SequenceEqual(new [] { "A.B", "Bar" })); }
public void TestSortedModules() { Mainboard mb = GadgeteerModel.Mainboard; DoInTransaction(() => { Assert.AreEqual(0, GadgeteerModel.SortModulesInCodeGenerationOrder().Count(), "Empty test failed"); AddSockets(mb, 3); Module m1 = CreateModule(); Module m2 = CreateModule(); Module m3 = CreateModule(); Module m4 = CreateModule(); Module m5 = CreateModule(); //Connect m2 with to sockets to the mainboard var su = new Microsoft.Gadgeteer.Designer.SocketUse(Store); m2.SocketUses.Add(su); su.Socket = mb.Sockets[2]; Connect(mb, m1, 0); Connect(mb, m2, 1); Connect(m1, m4, 1); Connect(m4, m5, 0); Connect(m2, m3, 0); var expectedOrder = new[] { m1, m4, m5, m2, m3 }; var result = GadgeteerModel.SortModulesInCodeGenerationOrder(); bool equal = expectedOrder.SequenceEqual(result); Assert.IsTrue(equal, "The sequence did not result in the expected order"); }); }
public virtual void Cleanup() { this.GadgeteerModel = null; this.Store.Dispose(); this.Store = null; }
public virtual void Initialize() { this.Store = new Store(typeof(GadgeteerDSLDomainModel)); DoInTransaction(() => this.GadgeteerModel = new GadgeteerModel(Store)); }