public void SerializeXMLTest()
        {
            var commandList = new CommandDescriptions();
            List <CommandDescription> command = new List <CommandDescription>();

            CommandDescription commandDescription = new CommandDescription();

            commandDescription.Name           = "Phase A power consumption";
            commandDescription.TestTargetType = Production.PCBTest.TestTargetType.Meter;
            commandDescription.ResoureId      = "Item_PhaseAPowerConsumption";
            //commandDescription.CommandType = new MeasureActivePowerCommand();
            commandDescription.CommandType      = "MeasureActivePowerCommand";
            commandDescription.ErrorControlType = "RangeSelector";

            var commandParameter = new MeasureParameter();

            commandParameter.LowerLimit         = 0.6m;
            commandParameter.UpperLimit         = 1.0m;
            commandParameter.Phase              = Phase.A;
            commandParameter.PinNumber          = 0;
            commandParameter.CurrentRange       = CurrentRange.All;
            commandDescription.CommandParameter = commandParameter;


            command.Add(commandDescription);
            commandList.Command = command;
            SerializeHelper.SerializeXML <CommandDescriptions>(commandList, @"H:\WorkSpace\rPCBT\PCBTestUtility\Xml\XmlTest.xml");
            //Assert.Fail();
        }
예제 #2
0
        public async Task <string> PostMeasureREC(MeasureParameter mp)
        {
            measureRecRoot root = new Barcelona.Models.measureRecRoot(mp); //mm.FnGetMeasureRec(mp);

            if (root.measureRec.Count() == 0)
            {
                return("");
            }
            BethelLoginParameter bp = Init();
            string token            = await GetAuthenticationToken(bp.account, bp.password, bp.appID);

            //MeasureModel mm = new MeasureModel();
            //IEnumerable<measureRecItem> root = mm.FnGetMeasureRec(mp);
            string result = Newtonsoft.Json.JsonConvert.SerializeObject(root);

            HttpClient client = new HttpClient();

            client.DefaultRequestHeaders.Accept.Add(new MediaTypeWithQualityHeaderValue("application/json"));
            client.DefaultRequestHeaders.Add("x-locale", "zh_TW");
            client.DefaultRequestHeaders.Add("x-debug", "1");
            client.DefaultRequestHeaders.Add("x-token", token);
            string             sentUrl = Constant.BCCMeasureRec;
            HttpRequestMessage request = new HttpRequestMessage(HttpMethod.Post, new Uri(sentUrl));
            StringContent      content = new StringContent(result, Encoding.UTF8, "application/json");

            request.Content = content;
            HttpResponseMessage response = await client.SendAsync(request);

            Task <string> readData = response.Content.ReadAsStringAsync();

            string  ret     = readData.Result;
            dynamic retroot = JObject.Parse(ret);

            client.Dispose();

            string retvalue = "";

            try
            { retvalue = retroot.result; }
            catch
            {
                retvalue = ret;
            }

            return(retvalue);
        }
예제 #3
0
        public void ExcuteTest()
        {
            using (var client = PcbTesterClient.Create(PortName, BaudRate))
            {
                client.Open();

                var command = new MeasureDCVoltageCommand();

                var parameter = new MeasureParameter(1, 2.5m, 2.6m); //单位V


                CommandResult result = command.Execute(client, parameter, null);

                Assert.AreEqual(false, result.Success);
                //Assert.AreEqual("3050mV", result.Data);
                MessageBoxHelper.ShowError(result.Message);
            }
        }
예제 #4
0
        public void ExcuteTest()
        {
            using (var client = PcbTesterClient.Create(PortName, BaudRate))
            {
                client.Open();
                var command   = new MeasureACCurrentCommand();
                var parameter = new MeasureParameter(Phase.A)
                {
                    LowerLimit = 20m,   //单位mA
                    UpperLimit = 40m
                };


                CommandResult result = command.Execute(client, parameter, null);

                Assert.AreEqual("14.35mA", result.Data);
                Assert.AreEqual(false, result.Success);
            }
        }
예제 #5
0
        public void ExcuteTest()
        {
            using (var client = PcbTesterClient.Create(PortName, BaudRate))
            {
                client.Open();
                var command = new MeasureActivePowerCommand();

                var parameter = new MeasureParameter(Phase.A)
                {
                    LowerLimit = -2.2m,
                    UpperLimit = 2.2m
                };

                CommandResult result = command.Execute(client, parameter, null);

                Assert.AreEqual(true, result.Success);
                Assert.AreEqual("1.498W", result.Data);
            }
        }
        public void ExcuteTest()
        {
            using (var client = PcbTesterClient.Create(PortName, BaudRate))
            {
                client.Open();

                var command   = new MeasureDCCurrentCommand();
                var parameter = new MeasureParameter(1, CurrentRange.Small)
                {
                    LowerLimit = 2m, //单位 uA
                    UpperLimit = 8m
                };

                CommandResult result = command.Execute(client, parameter, null);

                Assert.AreEqual(result.Success, false);
                Assert.AreEqual(result.Data, "1.8uA");
                Assert.AreEqual(result.Message, "2uA-8uA;1.8uA");
            }
        }
예제 #7
0
        public void ExcuteTest()
        {
            using (var client = PcbTesterClient.Create(PortName, BaudRate))
            {
                client.Open();

                var command = new MeasureACVoltageCommand();

                var parameter = new MeasureParameter(Phase.A)
                {
                    LowerLimit = 12m, //单位 V
                    UpperLimit = 50m
                };

                CommandResult result = command.Execute(client, parameter, null);

                Assert.AreEqual(false, result.Success);
                Assert.AreEqual("221.8V", result.Data);
                Assert.AreEqual("12V-50V;221.8V", result.Message);
            }
        }
예제 #8
0
        public async Task <string> PostMeasureRecCollection()
        {
            string           result = "";
            MeasureParameter mp     = new MeasureParameter();
            var rec = db.userCard.Select(x => x.CardId);

            foreach (string cardid in rec)
            {
                mp.Identifier = cardid;
                mp.UserId     = cardid;
                DBContext db2   = new DBContext();
                var       items = db2.measureitemtype.Select(x => x.Name);
                foreach (string item in items)
                {
                    mp.ItemName      = item;
                    mp.InputTypeCode = 0;
                    mp.DeviceModel   = "D40b";
                    result           = await PostMeasureREC(mp);
                }
            }
            //mp.Identifier = "2CE25FBB"; mp.UserId = Constant.BCCAccount; mp.ItemName = "血壓-收縮壓"; mp.InputTypeCode = 0; mp.DeviceModel = "D40b";

            return(result);
        }