コード例 #1
0
ファイル: GetVehiclesTests.cs プロジェクト: robrodi/HaloSharp
        public void GetConstructedUri_NoParamaters_MatchesExpected()
        {
            var query = new GetVehicles();

            var uri = query.GetConstructedUri();

            Assert.AreEqual("metadata/h5/metadata/vehicles", uri);
        }
コード例 #2
0
ファイル: GetVehiclesTests.cs プロジェクト: baLR0n/HaloSharp
        public void GetConstructedUri_NoParamaters_MatchesExpected()
        {
            var query = new GetVehicles();

            var uri = query.GetConstructedUri();

            Assert.AreEqual("metadata/h5/metadata/vehicles", uri);
        }
コード例 #3
0
        public void GetConstructedUri_NoParamaters_MatchesExpected()
        {
            var query = new GetVehicles();

            var uri = query.GetConstructedUri();

            Assert.AreEqual(BaseUri, uri);
        }
コード例 #4
0
        public async Task GetVehicles()
        {
            var query = new GetVehicles()
                .SkipCache();

            var result = await Global.Session.Query(query);

            Assert.IsInstanceOf(typeof (List<Vehicle>), result);
        }
コード例 #5
0
 public SteeringBehaviorsManager(Vehicle theVehicle, GetVehicles getVehiclesFunction, int width, int height)
 {
     owner           = theVehicle;
     activeBehaviors = new SortedDictionary <int, SteeringBehavior>();
     // Function that returns all the active vehicles. Must be user-defined for flexibility.
     getVehicles = getVehiclesFunction;
     Width       = width;
     Height      = height;
 }
コード例 #6
0
        public async Task GetVehicles_IsSerializable()
        {
            var query = new GetVehicles()
                        .SkipCache();

            var result = await Global.Session.Query(query);

            SerializationUtility <List <Vehicle> > .AssertRoundTripSerializationIsPossible(result);
        }
コード例 #7
0
        public async Task GetVehicles_DoesNotThrow()
        {
            var query = new GetVehicles()
                        .SkipCache();

            var result = await Global.Session.Query(query);

            Assert.IsInstanceOf(typeof(List <Vehicle>), result);
        }
コード例 #8
0
ファイル: GetVehiclesTests.cs プロジェクト: baLR0n/HaloSharp
        public async Task Query_DoesNotThrow()
        {
            var query = new GetVehicles()
                .SkipCache();

            var result = await _mockSession.Query(query);

            Assert.IsInstanceOf(typeof(List<Vehicle>), result);
            Assert.AreEqual(_vehicles, result);
        }
コード例 #9
0
        public async Task GetVehicles_IsSerializable()
        {
            var query = new GetVehicles()
                .SkipCache();

            var result = await Global.Session.Query(query);

            var serializationUtility = new SerializationUtility<List<Vehicle>>();
            serializationUtility.AssertRoundTripSerializationIsPossible(result);
        }
コード例 #10
0
        public async Task Query_DoesNotThrow()
        {
            var query = new GetVehicles()
                        .SkipCache();

            var result = await _mockSession.Query(query);

            Assert.IsInstanceOf(typeof(List <Vehicle>), result);
            Assert.AreEqual(_vehicles, result);
        }
コード例 #11
0
        public EvadeMulti(SteeringBehaviorsManager manager, Vehicle setOwner, float setMinDistance, GetVehicles updatePursuers, bool avoidBullets)
            : base(manager, setOwner)
        {
            minDistance       = setMinDistance;
            minDistanceSquare = minDistance * minDistance;

            this.avoidBullets = avoidBullets;

            //evade = new Evade(manager, setOwner, null, setMinDistance);

            UpdatePursuers = updatePursuers;

            flee = new Flee(manager, setOwner, new Vector2());
        }
コード例 #12
0
ファイル: GetVehiclesTests.cs プロジェクト: baLR0n/HaloSharp
        public async Task GetVehicles_SchemaIsValid()
        {
            var vehiclesSchema = JSchema.Parse(File.ReadAllText(Config.VehiclesJsonSchemaPath), new JSchemaReaderSettings
            {
                Resolver = new JSchemaUrlResolver(),
                BaseUri = new Uri(Path.GetFullPath(Config.VehiclesJsonSchemaPath))
            });

            var query = new GetVehicles()
               .SkipCache();

            var jArray = await Global.Session.Get<JArray>(query.GetConstructedUri());

            SchemaUtility.AssertSchemaIsValid(vehiclesSchema, jArray);
        }
コード例 #13
0
        public async Task GetVehicles_SchemaIsValid()
        {
            var vehiclesSchema = JSchema.Parse(File.ReadAllText(Halo5Config.VehiclesJsonSchemaPath), new JSchemaReaderSettings
            {
                Resolver = new JSchemaUrlResolver(),
                BaseUri  = new Uri(Path.GetFullPath(Halo5Config.VehiclesJsonSchemaPath))
            });

            var query = new GetVehicles()
                        .SkipCache();

            var jArray = await Global.Session.Get <JArray>(query.Uri);

            SchemaUtility.AssertSchemaIsValid(vehiclesSchema, jArray);
        }
コード例 #14
0
        public async Task <PagedResult <VehicleDto> > HandleAsync(GetVehicles query)
        {
            var pagedResult = await _repository.BrowseAsync(v => v.PayloadCapacity >= query.PayloadCapacity &&
                                                            v.LoadingCapacity >= query.LoadingCapacity && v.Variants == query.Variants, query);

            return(pagedResult?.Map(v => new VehicleDto
            {
                Id = v.Id,
                Brand = v.Brand,
                Model = v.Model,
                Description = v.Description,
                PayloadCapacity = v.PayloadCapacity,
                LoadingCapacity = v.LoadingCapacity,
                PricePerService = v.PricePerService,
                Variants = v.Variants.ToString().Split(',')
            }));
        }
コード例 #15
0
        public async Task GetVehicles_ModelMatchesSchema()
        {
            var schema = JSchema.Parse(File.ReadAllText(Halo5Config.VehiclesJsonSchemaPath), new JSchemaReaderSettings
            {
                Resolver = new JSchemaUrlResolver(),
                BaseUri  = new Uri(Path.GetFullPath(Halo5Config.VehiclesJsonSchemaPath))
            });

            var query = new GetVehicles()
                        .SkipCache();

            var result = await Global.Session.Query(query);

            var json       = JsonConvert.SerializeObject(result);
            var jContainer = JsonConvert.DeserializeObject <JContainer>(json);

            SchemaUtility.AssertSchemaIsValid(schema, jContainer);
        }
コード例 #16
0
        public async Task <ActionResult <Result2> > GetVehicles(GetVehicles Model)
        {
            // Get all active vehicles (with their current deliveries if exist)
            List <Vehicle> vehicles = _context.Vehicles.Where(v => v.Company.Id == Model.CompanyId &&
                                                              v.isCurrentlyActive)
                                      .Include(v => v.CurrentDriver).ToList <Vehicle>();

            foreach (Vehicle v in vehicles)
            {
                List <Delivery> deliveries = _context.Deliveries.Where(d => d.Vehicle.Id == v.Id &&
                                                                       d.Started && !d.Finished)
                                             .Include(d => d.Client)
                                             .ToList <Delivery>();
                foreach (Delivery d in deliveries)
                {
                    if (d.Client != null)
                    {
                        d.Client.Deliveries = null;
                    }
                    if (d.Company != null)
                    {
                        d.Company = null;
                    }
                    if (d.Vehicle != null)
                    {
                        d.Vehicle = null;
                    }
                }
                v.Deliveries = deliveries;
                if (v.CurrentDriver != null)
                {
                    v.CurrentDriver.Deliveries = null;
                }
            }


            return(new Result2(vehicles));
        }
コード例 #17
0
 public Vehicle(Vector2 setPosition, Vector2 setVelocity, float setMass, float setMaxSpeed, float setMaxForce, float setMaxTurnRate, GetVehicles getVehiclesFunction, int width, int height)
     : base(setPosition, setVelocity, setMass, setMaxSpeed, setMaxForce, setMaxTurnRate)
 {
     steering = new SteeringBehaviorsManager(this, getVehiclesFunction, width, height);
 }
コード例 #18
0
        public EvadeMulti(SteeringBehaviorsManager manager, Vehicle setOwner, float setMinDistance, GetVehicles updatePursuers, bool avoidBullets)
            : base(manager, setOwner)
        {
            minDistance = setMinDistance;
            minDistanceSquare = minDistance * minDistance;

            this.avoidBullets = avoidBullets;

            //evade = new Evade(manager, setOwner, null, setMinDistance);

            UpdatePursuers = updatePursuers;

            flee = new Flee(manager, setOwner, new Vector2());
        }
コード例 #19
0
        public void Uri_MatchesExpected()
        {
            var query = new GetVehicles();

            Assert.AreEqual("https://www.haloapi.com/metadata/h5/metadata/vehicles", query.Uri);
        }
コード例 #20
0
 public EvadeMulti(SteeringBehaviorsManager manager, Vehicle setOwner, float setMinDistance, GetVehicles updatePursuers)
     : this(manager, setOwner, setMinDistance, updatePursuers, false)
 {
 }
コード例 #21
0
 public Vehicle(Vector2 setPosition, Vector2 setVelocity, float setMass, float setMaxSpeed, float setMaxForce, float setMaxTurnRate, GetVehicles getVehiclesFunction, int width, int height)
     : base(setPosition, setVelocity, setMass, setMaxSpeed, setMaxForce, setMaxTurnRate)
 {
     steering = new SteeringBehaviorsManager(this, getVehiclesFunction, width, height);
 }
コード例 #22
0
 public EvadeMulti(SteeringBehaviorsManager manager, Vehicle setOwner, float setMinDistance, GetVehicles updatePursuers)
     : this(manager, setOwner, setMinDistance, updatePursuers, false)
 {
 }
コード例 #23
0
 public void EvadeMultiOn(GetVehicles getPursuer, float minDistance)
 {
     activeBehaviors.Add((int)BehaviorType.evadeMulti, new EvadeMulti(this, owner, minDistance, getPursuer));
 }
コード例 #24
0
 public void EvadeMultiOn(GetVehicles getPursuer, float minDistance)
 {
     activeBehaviors.Add((int)BehaviorType.evadeMulti, new EvadeMulti(this, owner, minDistance, getPursuer));
 }
コード例 #25
0
ファイル: GetVehiclesTests.cs プロジェクト: baLR0n/HaloSharp
        public async Task GetVehicles_ModelMatchesSchema()
        {
            var schema = JSchema.Parse(File.ReadAllText(Config.VehiclesJsonSchemaPath), new JSchemaReaderSettings
            {
                Resolver = new JSchemaUrlResolver(),
                BaseUri = new Uri(Path.GetFullPath(Config.VehiclesJsonSchemaPath))
            });

            var query = new GetVehicles()
                .SkipCache();

            var result = await Global.Session.Query(query);

            var json = JsonConvert.SerializeObject(result);
            var jContainer = JsonConvert.DeserializeObject<JContainer>(json);

            SchemaUtility.AssertSchemaIsValid(schema, jContainer);
        }
コード例 #26
0
 public SteeringBehaviorsManager(Vehicle theVehicle, GetVehicles getVehiclesFunction, int width, int height)
 {
     owner = theVehicle;
     activeBehaviors = new SortedDictionary<int, SteeringBehavior>();
     // Function that returns all the active vehicles. Must be user-defined for flexibility.
     getVehicles = getVehiclesFunction;
     Width = width;
     Height = height;
 }