public void ImplicitAllGroupSelector()
        {
            var program = MDKFactory.CreateProgram <Program>();
            var command = program.ParseCommand("turn on the lights");

            Assert.IsTrue(command is BlockCommand);
            BlockCommand bc = (BlockCommand)command;

            Assert.IsTrue(bc.entityProvider is AllEntityProvider);
            AllEntityProvider aep = (AllEntityProvider)bc.entityProvider;

            Assert.AreEqual(Block.LIGHT, aep.GetBlockType());
        }
        public void AllSelectorGroup()
        {
            var program = MDKFactory.CreateProgram <Program>();
            var command = program.ParseCommand("set the height of all pistons to 0");

            Assert.IsTrue(command is BlockCommand);
            BlockCommand bc = (BlockCommand)command;

            Assert.IsTrue(bc.entityProvider is AllEntityProvider);
            AllEntityProvider aep = (AllEntityProvider)bc.entityProvider;

            Assert.AreEqual(Block.PISTON, aep.GetBlockType());
        }
        public void AllSelectorGroupWithCondition()
        {
            var program = MDKFactory.CreateProgram <Program>();
            var command = program.ParseCommand("recharge all batteries whose ratio < 0.25");

            Assert.IsTrue(command is BlockCommand);
            BlockCommand bc = (BlockCommand)command;

            Assert.IsTrue(bc.entityProvider is ConditionalEntityProvider);
            ConditionalEntityProvider cep = (ConditionalEntityProvider)bc.entityProvider;

            Assert.IsTrue(cep.provider is AllEntityProvider);
            AllEntityProvider aep = (AllEntityProvider)cep.provider;

            Assert.AreEqual(Block.BATTERY, aep.GetBlockType());
        }