public void TestRangeController_Action_ListStriptUrl()
        {
            var ctr = new RangeController(GetService());

            object manuf = null;

            try
            {
                var res = ctr.ListStriptUrl("Pagani") as ViewResult;
                manuf = res.ViewData.Model;
            }
            catch (Exception ex)
            {
                Assert.Fail("The Range controller has failed with message {0}", ex.Message, ex.StackTrace);
                return;
            }
            Assert.IsInstanceOfType(manuf, typeof(ManufacturerViewModel), "Range controller supplying view with a model of incorrect type");
            var manufacturer = manuf as ManufacturerViewModel;

            if (manufacturer == null)
            {
                return;
            }
            Assert.AreEqual("Pagani", manufacturer.Name);
            Assert.AreEqual(0, manufacturer.RangeItems.Count());
        }
示例#2
0
 // Start is called before the first frame update
 void Start()
 {
     if (gameObject.CompareTag("Enemy"))
     {
         rangeController = range.GetComponent <RangeController>();
     }
     inRange = false;
     m_Timer = 0;
 }
示例#3
0
 public override bool Reason()
 {
     if (RangeController.IsInRange(gameObject.transform.position, Player.Instance.transform.position, _range))
     {
         gameObject.GetComponent <RangeEventHandler>().ChangeState(RangeEventHandler.RangeStates.CloseRange);
         return(false);
     }
     return(true);
 }
示例#4
0
        public void ListNull()
        {
            // Arrange
            RangeController controller = new RangeController();

            // Act
            ViewResult result = controller.List(null) as ViewResult;

            // Assert
            Assert.IsNotNull(result);
            var manufacturers = result.Model as List <Manufacturer>;

            Assert.IsNotNull(manufacturers);
            Assert.IsTrue(manufacturers.Count > 1, "Manufacturers count should be more than 1");
        }
示例#5
0
        public void ListWrongName()
        {
            // Arrange
            RangeController controller = new RangeController();

            // Act
            ViewResult result = controller.List("~~@!#@%") as ViewResult;

            // Assert
            Assert.IsNotNull(result);
            var manufacturers = result.Model as List <Manufacturer>;

            Assert.IsNotNull(manufacturers);
            Assert.IsTrue(manufacturers.Count == 0, "Manufacturers count should be 0");
        }
示例#6
0
        public void ListManufacturer()
        {
            // Arrange
            RangeController controller       = new RangeController();
            Entities        db               = new Entities();
            string          manufacturerName = db.Manufacturer.First().ManufacturerName;

            // Act
            ViewResult result = controller.List(manufacturerName) as ViewResult;

            // Assert
            Assert.IsNotNull(result);
            var manufacturers = result.Model as List <Manufacturer>;

            Assert.IsNotNull(manufacturers);
            Assert.IsTrue(manufacturers.Count == 1, "Manufacturers count should be 1");
            Assert.IsTrue(manufacturers.First().ManufacturerName == manufacturerName, string.Format("Manufacturer name should be {0}", manufacturerName));
        }
        public void TestRangeController_Action_ListStriptUrl_NonExistingMake()
        {
            var ctr = new RangeController(GetService());

            object viewModel = null;

            try
            {
                var res = ctr.ListStriptUrl("Hispano-Suiza") as ViewResult;
                viewModel = res.ViewData.Model;
            }
            catch (Exception ex)
            {
                Assert.Fail("The Range controller has failed with message {0}", ex.Message, ex.StackTrace);
                return;
            }
            Assert.IsNull(viewModel);
        }
        public void TestRangeController_Action_ListStriptUrl_InvalidInput()
        {
            var ctr = new RangeController(GetService());

            object viewModel = null;

            try
            {
                var res = ctr.ListStriptUrl("injectingcode{select 1 from table}") as ViewResult;
                viewModel = res.ViewData.Model;
            }
            catch (Exception ex)
            {
                Assert.Fail("The Range controller has failed with message {0}", ex.Message, ex.StackTrace);
                return;
            }
            Assert.IsNull(viewModel);
        }
示例#9
0
        public void INTEGER_RANGE_2_to_6_NOT_CONTAIN_Minus_1_1_6_10_()
        {
            RangeController rangeController = new RangeController();
            // inputs

            // test
            const string Set    = "[2,6)";
            var          subset = new List <int>()
            {
                -1, 1, 6, 10
            };
            bool experatedValue = false;


            bool result = rangeController.IntegerRangeContain(Set, subset);

            // assert
            Assert.AreEqual(experatedValue, result);
        }
示例#10
0
        public void INTEGER_RANGE_CONTAIN_FROM_2_TO_6_ELEMENTS_2_4()
        {
            RangeController rangeController = new RangeController();
            // inputs

            // test
            const string Set    = "[2,6)";
            var          subset = new List <int>()
            {
                2, 4
            };
            bool experatedValue = true;


            bool result = rangeController.IntegerRangeContain(Set, subset);

            // assert
            Assert.AreEqual(experatedValue, result);
        }
示例#11
0
        public void GET_ALL_POINTS__2_to_6()
        {
            // inputs
            RangeController rangeController = new RangeController();

            const string Set            = "[2,6)";
            List <int>   experatedValue = new List <int>()
            {
                2, 3, 4, 5
            };
            bool experatedHaveAllElements = true;

            // test
            List <int> result = rangeController.GetAllPointsFromSet(Set).ToList();


            var haveAllElements = result.All(e => experatedValue.Contains(e));

            // assert
            Assert.AreEqual(experatedValue.Count, result.Count);
            Assert.AreEqual(experatedHaveAllElements, haveAllElements);
        }
    public void CreateArea()
    {
        DepNode parentDep = FactoryDepManager.currentDep;//当前区域,要在当前区域下创建子区域(告警区域)

        if (parentDep == null)
        {
            Log.Error("RangeEditWindow.CreateArea", "depnodeT == null");
            return;
        }
        if (parentDep.TopoNode == null)
        {
            Log.Error("RangeEditWindow.CreateArea", "depnodeT.TopoNode == null");
            return;
        }

        if (parentDep.TopoNode.Type == AreaTypes.范围 ||
            parentDep.TopoNode.Type == AreaTypes.分组 ||
            parentDep.TopoNode.Type == AreaTypes.CAD ||
            parentDep.TopoNode.Type == AreaTypes.大楼 ||
            parentDep.TopoNode.Type == AreaTypes.机房
            )
        {
            UGUIMessageBox.Show("不能在该区域类型下创建子区域,类型:" + parentDep.TopoNode.Type + ",请切换到楼层或者厂区。");
            return;
        }

        Log.Info("RangeEditWindow.CreateArea", string.Format("type:{0},name:{1}", parentDep.TopoNode.Type, parentDep.TopoNode.Name));

        PhysicalTopology p = CreateDefaultArea();

        TransformM tm        = parentDep.TopoNode.Transfrom;
        Vector3    centerPos = Vector3.zero;

        if (tm != null)
        {
            Log.Info("RangeEditWindow.CreateArea", string.Format("SX:{0},SY:{1},SZ:{2}", tm.SX, tm.SY, tm.SZ));
            centerPos = new Vector3((float)(tm.SX / 2f), (float)(tm.SY / 2), (float)(tm.SZ / 2));//父物体的尺寸的一半也就是父物体的中心
        }

        //if(RoomFactory.Instance.FactoryType==FactoryTypeEnum.BaoXin)
        //{
        //    pos2D = new Vector3(LocationManager.Instance.axisZero.x,pos2D.y, LocationManager.Instance.axisZero.z);
        //}

        //Vector3 buildPos = Vector3.zero;
        //buildPos = -LocationManager.GetRealSizeVector(pos2D);

        p.ParentId = parentDep.TopoNode.Id;

        //判断是否是楼层或楼层以下级别的,是的话,设置IsRelative="true"
        bool b = MonitorRangeManager.IsBelongtoFloor(parentDep);

        Log.Info("RangeEditWindow.CreateArea", string.Format("IsBelongtoFloor:{0}", b));
        if (b)//如果是楼层及楼层以下级别就设置成相对的
        {
            p.IsRelative           = true;
            p.Transfrom.IsRelative = true;
        }
        else
        {
            p.IsRelative           = false;
            p.Transfrom.IsRelative = false;
            //pos2D = new Vector3((float)tm.X, (float)tm.Y, (float)tm.Z);
            centerPos = Vector3.zero;
            GetRealPos(parentDep, ref centerPos);
        }
        //Vector3 pos = parentDep.monitorRangeObject.transform.position;
        Vector3 realpos = centerPos;

        if (parentDep.TopoNode.Type == AreaTypes.楼层)//宝信项目坐标系偏移,应该也是兼容其他项目的
        {
            realpos.x += parentDep.TopoNode.InitBound.MinX;
            realpos.z += parentDep.TopoNode.InitBound.MinY;
        }

        SetAreaTransform(p, realpos);

        Loom.StartSingleThread(() =>
        {
            Log.Info("RangeEditWindow.CreateArea", string.Format("realpos:{0}", realpos));
            PhysicalTopology newArea = CommunicationObject.Instance.AddMonitorRange(p);//发送信息给服务端
            Loom.DispatchToMainThread(() =>
            {
                try
                {
                    if (newArea != null && newArea.Transfrom != null)
                    {
                        var newT = newArea.Transfrom;
                        Log.Info("RangeEditWindow.CreateArea", string.Format("newPos:({0},{1},{2})", newT.X, newT.Y, newT.Z));

                        RangeNode parentRangeNode = parentDep.monitorRangeObject.rangeNode;//区域的根节点
                        RangeNode newNode         = parentRangeNode.NewNode();

                        MonitorRangeManager.Instance.CreateRangesByRootNode(newArea, newNode);
                        MonitorRangeObject monitorRangeObject = newNode.rangeObject;
                        monitorRangeObject.SetIsNewAdd(true);
                        monitorRangeObject.SetEditEnable(true);
                        monitorRangeObject.SetRendererEnable(true);
                        //monitorRangeObject.SetSelectedUI(true);
                        newNode.rangeObject.gameObject.layer = LayerMask.NameToLayer(Layers.Range);
                        EditorObjectSelection.Instance.ClearSelection(false);
                        EditorObjectSelection.Instance.SetSelectedObjects(new List <GameObject>()
                        {
                            monitorRangeObject.gameObject
                        }, false);
                        //if (depnodeT.ChildNodes == null)
                        //{
                        //    //depnodeT.ChildNodes.Add()
                        RangeController rangeController = RoomFactory.Instance.AddRange(parentDep, newArea);
                        //}
                        Debug.LogError("CreateArea:成功!");
                        rangeController.monitorRangeObject = monitorRangeObject;
                        Show(monitorRangeObject);
                        MonitorRangeManager.Instance.AddRangeToList(monitorRangeObject);
                        //PersonnelTreeManage.Instance.areaDivideTree.RefreshShowAreaDivideTree();
                        PersonnelTreeManage.Instance.areaDivideTree.AddAreaChild(parentDep.TopoNode, newArea);
                        //monitorRangeObject.Focus();
                    }
                    else//else要有
                    {
                        UGUIMessageBox.Show("服务端创建子区域失败!");
                    }
                }
                catch (Exception e)
                {
                    Log.Error("RangeEditWindow.CreateArea", "" + e);
                }
            });
        });
    }
示例#13
0
 // Awake is called when the script instance is being loaded
 protected override void Awake()
 {
     base.Awake();
     Controller = GetComponentInChildren <PlayerController>();
     Range      = GetComponentInChildren <RangeController>();
 }