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" }));
        }
Esempio n. 5
0
        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");
            });
        }
Esempio n. 6
0
 public virtual void Cleanup()
 {
     this.GadgeteerModel = null;
     this.Store.Dispose();
     this.Store = null;
 }
Esempio n. 7
0
        public virtual void Initialize()
        {
            this.Store = new Store(typeof(GadgeteerDSLDomainModel));

            DoInTransaction(() => this.GadgeteerModel = new GadgeteerModel(Store));
        }