예제 #1
0
        public ParkingSpotControllerTests()
        {
            //setup test database
            ServiceProvider serviceProvider = new ServiceCollection()
                                              .AddEntityFrameworkSqlServer()
                                              .BuildServiceProvider();

            DbContextOptionsBuilder builder = new DbContextOptionsBuilder <ParkingContext>();

            builder.UseSqlServer($"Server=localhost;Database=ParkingTestDb_{Guid.NewGuid()};Trusted_Connection=True;MultipleActiveResultSets=true")
            .UseInternalServiceProvider(serviceProvider);

            context = new ParkingContext(builder.Options);
            context.Database.Migrate();

            //mock controller
            ParkingSpotManager         parkingSpotRepo = new ParkingSpotManager();
            ReservationTimeSlotManager timeSlotRepo    = new ReservationTimeSlotManager();

            controller = new ParkingSpotsController(parkingSpotRepo, timeSlotRepo, context);

            //mock http requests
            var claim       = new Claim("accountID", "testID");
            var httpContext = new Mock <HttpContext>();

            httpContext.Setup(m => m.User.IsInRole("admin")).Returns(true);
            httpContext.Setup(m => m.User.FindFirst(ClaimTypes.NameIdentifier)).Returns(claim);

            var controllerContext = new ControllerContext(new ActionContext(httpContext.Object, new RouteData(), new ControllerActionDescriptor()));

            controller.ControllerContext = controllerContext;
        }
예제 #2
0
    private float groundLevel   = 6f;   // the ground level for landing action



    // Start is called before the first frame update
    void Start()
    {
        // initialize the variable fields
        rb            = this.GetComponent <Rigidbody>();
        psManager     = GameObject.Find("ParkingSystem").GetComponent <ParkingSpotManager>(); // Find instance of ParkingSpotManager script
        taskScheduler = GameObject.Find("TaskScheduler").GetComponent <TaskScheduler>();
        planeTask     = this.gameObject.GetComponent <PlaneTask>();

        currentState   = PlaneState.START;  // initial state
        gas_limit_time = planeTask.gasTime; // get the gas time from the task script
    }
예제 #3
0
 private Parking()
 {
     parkingSpotManager = ParkingSpotManager.GetInstance;
 }