public void GraphicsArrayAddressBitWidthTest()
        {
            CircuitProject project = CircuitProject.Create(null);
            GraphicsArray  target  = null;

            project.InTransaction(() => {
                target = project.GraphicsArraySet.Create(1, 1, 1, 1);
                project.CircuitSymbolSet.Create(target, project.ProjectSet.Project.LogicalCircuit, 10, 10);
            });
            Assert.IsNotNull(target);
            Assert.AreEqual(1, target.AddressBitWidth);

            Func <int, int, int, int, int> abw = (int dataBitWidth, int bpp, int w, int h) => {
                project.InTransaction(() => {
                    target.DataBitWidth = dataBitWidth;
                    target.BitsPerPixel = bpp;
                    target.Width        = w;
                    target.Height       = h;
                });
                return(target.AddressBitWidth);
            };

            Assert.AreEqual(5, abw(8, 1, 10, 10));
            Assert.AreEqual(7, abw(1, 1, 10, 10));
            Assert.AreEqual(10, abw(1, 8, 10, 10));
            Assert.AreEqual(13, abw(8, 1, 320, 200));
            Assert.AreEqual(15, abw(8, 4, 320, 200));
            Assert.AreEqual(16, abw(8, 8, 320, 200));
            Assert.AreEqual(19, abw(8, GraphicsArray.MaxBitsPerPixel, GraphicsArray.MaxWidth, GraphicsArray.MaxHeight));
            Assert.AreEqual(22, abw(1, GraphicsArray.MaxBitsPerPixel, GraphicsArray.MaxWidth, GraphicsArray.MaxHeight));
        }
예제 #2
0
        private async void mLoad_Click(object sender, RoutedEventArgs e)
        {
            try
            {
                GraphicsArray reply = await client.GetGraphicsFromFileAsync(new EmptyMessage()
                {
                    Ok = true
                });

                List <List <double> > lines = new List <List <double> >();

                foreach (var pointsArray in reply.Lines)
                {
                    List <double> line = new List <double>();

                    foreach (var point in pointsArray.GraphicPoints)
                    {
                        line.Add(point);
                    }

                    lines.Add(line);
                }

                VM.AddNewLines(lines);
            }
            catch (Grpc.Core.RpcException ex)
            {
                if (App.Language == CultureInfo.GetCultureInfoByIetfLanguageTag("ru-RU"))
                {
                    MessageBox.Show("Возникли проблемы с сервером. Возможные причины:" +
                                    Environment.NewLine + "1) Сервер не подключен" +
                                    Environment.NewLine + "2) При запросе возникла ошибка" +
                                    Environment.NewLine + Environment.NewLine + ex.Message
                                    , "Ошибка"
                                    , MessageBoxButton.OK, MessageBoxImage.Error);
                }
                else
                {
                    MessageBox.Show("There is a problem with the server. Possible reasons:" +
                                    Environment.NewLine + "1) Server is not connected" +
                                    Environment.NewLine + "2) An error occurred when requesting" +
                                    Environment.NewLine + Environment.NewLine + ex.Message
                                    , "Error"
                                    , MessageBoxButton.OK, MessageBoxImage.Error);
                }
            }
        }
 public void GraphicsArrayCheckBitsPerPixelTest()
 {
     Assert.AreEqual(1, GraphicsArray.CheckBitsPerPixel(-20));
     Assert.AreEqual(1, GraphicsArray.CheckBitsPerPixel(-2));
     Assert.AreEqual(1, GraphicsArray.CheckBitsPerPixel(0));
     Assert.AreEqual(1, GraphicsArray.CheckBitsPerPixel(1));
     Assert.AreEqual(2, GraphicsArray.CheckBitsPerPixel(2));
     Assert.AreEqual(4, GraphicsArray.CheckBitsPerPixel(3));
     Assert.AreEqual(4, GraphicsArray.CheckBitsPerPixel(4));
     Assert.AreEqual(8, GraphicsArray.CheckBitsPerPixel(5));
     Assert.AreEqual(8, GraphicsArray.CheckBitsPerPixel(6));
     Assert.AreEqual(8, GraphicsArray.CheckBitsPerPixel(7));
     Assert.AreEqual(8, GraphicsArray.CheckBitsPerPixel(8));
     Assert.AreEqual(8, GraphicsArray.CheckBitsPerPixel(9));
     Assert.AreEqual(8, GraphicsArray.CheckBitsPerPixel(10));
     Assert.AreEqual(8, GraphicsArray.CheckBitsPerPixel(100));
     Assert.AreEqual(8, GraphicsArray.CheckBitsPerPixel(1000));
 }
예제 #4
0
        public override async Task <GraphicsArray> GetGraphicsFromFile(EmptyMessage a, ServerCallContext context)
        {
            try
            {
                GraphicsArray result = new GraphicsArray();

                List <List <double> > lines = await service.GetGraphicsFromFile();

                foreach (var line in lines)
                {
                    PointsArray newLine = new PointsArray();
                    newLine.GraphicPoints.Add(line.ToArray());
                    result.Lines.Add(newLine);
                }


                return(result);
            }
            catch (Exception ex)
            {
                logger.LogError(ex.Message);
                throw new Exception(ex.Message);
            }
        }