public void CalculateSurfaceAreas()
        {
            // Arrange
            var triangle = new Triangle(TriangleHeight, TriangleWidth);

            var circle = new Circle(CircleRadius);

            var square = new Square(SquareSide);

            var rectangle = new Rectangle(RectangleHeight, RectangleWidth);

            var trapezoid = new Trapezoid(TrapezoidHeight, TrapezoidUpperWidth, TrapezoidLowerWidth);

            var expectedSurfaceAreas = new List <double>()
            {
                TriangleSurfaceArea, CircleSurfaceArea, SquareSurfaceArea, RectangleSurfaceArea, TrapezoidSurfaceArea
            };

            // Act
            var surfaceAreaCalculator = new ShapeRepository(mockLogger.Object);

            surfaceAreaCalculator.Add(triangle);
            surfaceAreaCalculator.Add(circle);
            surfaceAreaCalculator.Add(square);
            surfaceAreaCalculator.Add(rectangle);
            surfaceAreaCalculator.Add(trapezoid);
            surfaceAreaCalculator.CalculateSurfaceAreas();
            var surfaceAreas = surfaceAreaCalculator.surfaceAreaList;

            // Assert
            Assert.AreEqual(expectedSurfaceAreas[0], surfaceAreas[0]);
            Assert.AreEqual(expectedSurfaceAreas[1], surfaceAreas[1]);
            Assert.AreEqual(expectedSurfaceAreas[2], surfaceAreas[2]);
            Assert.AreEqual(expectedSurfaceAreas[3], surfaceAreas[3]);
        }
Exemple #2
0
        public void Setup()
        {
            // Arrange
            triangle = new Triangle(TriangleHeight, TriangleWidth);
            circle   = new Circle(CircleRadius);

            shapeRepository = new ShapeRepository(mockLogger.Object);
        }
Exemple #3
0
 public Scene()
 {
     InitializeComponent();
     //this.shapesList = new List<Shape>();
     this.ShapesRepo   = new ShapeRepository();
     this.createFigure = new Create_Figure(ShapesRepo.shapes);
     this.penSettings  = new PenSettings();
 }
        public void ShouldAddCircleToRepository()
        {
            var shape = new Circle();

            var shapeRepository = new ShapeRepository();

            shapeRepository.AddShape(shape);
            var shapes = shapeRepository.GetShapes();

            CollectionAssert.Contains(shapes, shape);
        }
Exemple #5
0
        public UnitOfWork(AreasMapCoreDbContext context)
        {
            _context = context ?? throw new ArgumentNullException(nameof(context));

            EntityFrameworkManager.ContextFactory = context =>
            {
                return(_context);
            };

            AreaRepository      = new AreaRepository(_context);
            ShapeRepository     = new ShapeRepository(_context);
            ShapeTypeRepository = new ShapeTypeRepository(_context);

            CircleRepository           = new CircleRepository(_context);
            CircleCoordinateRepository = new CircleCoordinateRepository(_context);

            RectangleRepository       = new RectangleRepository(_context);
            RectangleBoundsRepository = new RectangleBoundsRepository(_context);

            PolygonRepository           = new PolygonRepository(_context);
            PolygonCoordinateRepository = new PolygonCoordinateRepository(_context);
        }
Exemple #6
0
        public GraphicsEditorForm()
        {
            InitializeComponent();

            var shapeTypesRepository = new ShapeTypesRepository();
            var shapeRepository      = new ShapeRepository(shapeTypesRepository);

            _canvasController     = new CanvasController(shapeRepository);
            _shapeTypesController = new ShapeTypesController(shapeTypesRepository);
            _pen = new Pen(Color.Black, widthTrackBar.Value)
            {
                StartCap = LineCap.Round, EndCap = LineCap.Round
            };
            _pen.SetLineCap(LineCap.Round, LineCap.Round, DashCap.Round);
            colorPanel.BackColor = _pen.Color;

            ICollection <Type> types = _shapeTypesController.AddFromAssembly(defaultLinePath);

            AddPrimitiveButtons(types);
            types = _shapeTypesController.AddFromAssembly(defaultRectanglePath);
            AddPrimitiveButtons(types);
        }
Exemple #7
0
        private void button3_Click(object sender, EventArgs e)
        {
            if (penSettings.CBPenColor.SelectedItem == null || penSettings.PenTypeComboBox.SelectedItem == null || penSettings.CBPenWidth.SelectedItem == null)
            {
                MessageBox.Show("First choose pen settings!");
                return;
            }
            OpenFileDialog load = new OpenFileDialog();

            if (load.ShowDialog() == DialogResult.OK)
            {
                IFormatter formatter = new BinaryFormatter();
                Stream     stream    = new FileStream(load.FileName,
                                                      FileMode.Open,
                                                      FileAccess.Read,
                                                      FileShare.Read);
                this.ShapesRepo = (ShapeRepository)formatter.Deserialize(stream);

                stream.Close();
                Invalidate();
            }
        }
        /// <summary>
        /// When implemented in a derived class, executes the scheduled job asynchronously. Implementations that want to know whether
        ///             the scheduled job is being cancelled can get a <see cref="P:Microsoft.WindowsAzure.Mobile.Service.ScheduledJob.CancellationToken"/> from the <see cref="M:CancellationToken"/> property.
        /// </summary>
        /// <returns>
        /// A <see cref="T:System.Threading.Tasks.Task"/> representing the asynchronous operation.
        /// </returns>
        public override async Task ExecuteAsync()
        {
            // Load Feed Message
            var dbConnStr = ConfigurationManager.ConnectionStrings["MTA_DB"].ConnectionString;

            var service = new StaticFileService(new StaticFileDownloader());


            StringBuilder sb = new StringBuilder();

            List<string> tableNames = new List<string>()
            {
                "agency",
                "calendar",
                "calendar_dates",
                "shapes",
                "stop_times",
                "transfers",
                "trips",
                "routes",
                "stops",
            };

            tableNames.ForEach(s => sb.AppendFormat("TRUNCATE TABLE {0};", s));

            using (var conn = new SqlConnection(dbConnStr))
            {
                using (var cmd = new SqlCommand(sb.ToString(), conn))
                {
                    conn.Open();
                    cmd.ExecuteNonQuery();
                }


                //Agency
                using (var repository = new AgencyRepository() {Connection = conn})
                {
                    // Load Tables
                    repository.AddRange(await service.GetAgencies());
                }

//            using (var repository = new CalendarDateRepository(dbConnStr))
//            {
//                // Load Tables
//                repository.AddRange(service.GetCalendarDates());
//            }

                //Calendars
                using (var repository = new CalendarRepository() {Connection = conn})
                {
                    // Load Tables
                    repository.AddRange(await service.GetCalendars());
                }
                //Route
                using (var repository = new RouteRepository() {Connection = conn})
                {
                    // Load Tables
                    repository.AddRange(await service.GetRoutes());
                }
                //Shape
                using (var repository = new ShapeRepository() {Connection = conn})
                {
                    // Load Tables
                    repository.AddRange(await service.GetShapes());
                }
                //Stop
                using (var repository = new StopRepository() {Connection = conn})
                {
                    // Load Tables
                    repository.AddRange(await service.GetStops());
                }
                //Stop Time
                using (var repository = new StopTimeRepository() {Connection = conn})
                {
                    // Load Tables
                    repository.AddRange(await service.GetStopTimes());
                }
                //Transfer
                using (var repository = new TransferRepository() {Connection = conn})
                {
                    // Load Tables
                    repository.AddRange(await service.GetTransfers());
                }
                //Trip
                using (var repository = new TripRepository() {Connection = conn})
                {
                    // Load Tables
                    repository.AddRange(await service.GetTrips());
                }

                // Build Stations
                using (var cmd = new SqlCommand("sp_BuildStations", conn))
                {
                    cmd.CommandType = CommandType.StoredProcedure;
//                    conn.Open();
                    cmd.ExecuteNonQuery();
                }

                using (var cmd = new SqlCommand("sp_CreateStaticSchedule", conn))
                {
                    cmd.CommandTimeout = 120;
                    cmd.CommandType = CommandType.StoredProcedure;
                    //                    conn.Open();

                    TimeZoneInfo easternZone = TimeZoneInfo.FindSystemTimeZoneById("Eastern Standard Time");
                    DateTime easternTimeNow = TimeZoneInfo.ConvertTime(DateTime.UtcNow, TimeZoneInfo.Utc,
                                                                    easternZone);
                    cmd.Parameters.AddWithValue("@today", easternTimeNow);

                    cmd.ExecuteNonQuery();
                }
            }
        }
Exemple #9
0
 /// <summary>
 /// Initializes a new instance of the <see cref="ShapeFactory"/> class.
 /// </summary>
 private ShapeFactory()
 {
     this.shapeRepository = new ShapeRepository();
 }
 public CanvasController(ShapeRepository shapeRepository)
 {
     _shapeRepository = shapeRepository;
 }
Exemple #11
0
        private void CBFilter_SelectedIndexChanged(object sender, EventArgs e)
        {
            var newListToDisplay = new List <Shape>();

            IFormatter formatter = new BinaryFormatter();
            Stream     stream    = new FileStream("temporary.txt",
                                                  FileMode.Open,
                                                  FileAccess.Read,
                                                  FileShare.Read);

            this.ShapesRepo = (ShapeRepository)formatter.Deserialize(stream);
            stream.Close();
            Invalidate();

            if (CBFilter.SelectedIndex == 0)
            {
                foreach (var shape in this.ShapesRepo.shapes.OrderBy(x => x.CalculateSurface()).Take(10))
                {
                    newListToDisplay.Add(shape);
                }
            }
            else if (CBFilter.SelectedIndex == 1)
            {
                foreach (var shape in this.ShapesRepo.shapes.OrderBy(x => x.Perimeter()).Take(10))
                {
                    newListToDisplay.Add(shape);
                }
            }
            else if (CBFilter.SelectedIndex == 2)
            {
                newListToDisplay = this.ShapesRepo.shapes.Where(x => x.GetType().Name == "Circle").ToList();
            }
            else if (CBFilter.SelectedIndex == 3)
            {
                newListToDisplay = this.ShapesRepo.shapes.Where(x => x.GetType().Name == "Triangle").ToList();
            }
            else if (CBFilter.SelectedIndex == 4)
            {
                newListToDisplay = this.ShapesRepo.shapes.Where(x => x.GetType().Name == "Square").ToList();
            }
            else if (CBFilter.SelectedIndex == 5)
            {
                newListToDisplay = this.ShapesRepo.shapes.Where(x => x.GetType().Name == "Rectangle").ToList();
            }
            else if (CBFilter.SelectedIndex == 6)
            {
                Invalidate();
                return;
            }

            for (int i = 0; i < ShapesRepo.shapes.Count; i++)
            {
                ShapesRepo.shapes.RemoveAt(i);
                i--;
            }

            for (int i = 0; i < newListToDisplay.Count; i++)
            {
                ShapesRepo.AddShape(newListToDisplay[i]);
            }
            Invalidate();
            // Refresh();
        }