Exemplo n.º 1
0
        public void Encode_ContentTooLong_ShouldThrowException()
        {
            Action action = () => Code128Encoder.Encode("123456789012345678901234567890123456789012345678901234567890123456789012345678901");

            action.Should().Throw <ArgumentException>()
            .And.Message.StartsWith("Content length should be between 1 and 80 but got 81");
        }
Exemplo n.º 2
0
        public void Interpret_WhenFeedingGeneratedCodes_InterpretsCorrectly()
        {
            var encoder = new Code128Encoder(new DefaultMapping(), EncodedCode128Factory.Default,
                                             Encoding.GetEncoding(1252));
            var success = true;

            var content = TestCaseGenerator.GeneratePermutations(6);
            var sw      = Stopwatch.StartNew();
            var slice   = content.Count / 8;

            Parallel.For(0, 8, i =>
            {
                foreach (var str in content.Skip(i * slice).Take(slice))
                {
                    try
                    {
                        //_output.WriteLine($"Testing {str}");
                        var generated   = encoder.Encode(str);
                        var interpreted = _interpreter.Interpret(generated.ToPatternList());
                        Assert.Equal(str, interpreted);
                    }
                    catch (Exception e)
                    {
                        _output.WriteLine($"FAILED: {str}: {e}");
                        success = false;
                    }
                }
            });
            _output.WriteLine(
                $"{content.Count} tests run in {sw.Elapsed}. {sw.Elapsed.TotalMilliseconds / content.Count}ms per test");

            Assert.True(success, "One or more cases failed.");
        }
Exemplo n.º 3
0
        public void Encode_EmptyString_ShouldThrowException()
        {
            Action action = () => Code128Encoder.Encode(string.Empty);

            action.Should().Throw <ArgumentException>()
            .And.Message.StartsWith("Content length should be between 1 and 80 but got 0");
        }
Exemplo n.º 4
0
        public IActionResult GetBarcode(string data)
        {
            _logger.LogInformation("GetBarcode " + data);

            System.IO.File.WriteAllText(Environment.CurrentDirectory + @"/mydata/" + "file_" + DateTime.Now.Ticks + ".txt", data);

            var cachedString = _distributedCache.GetString("TEST");

            if (string.IsNullOrEmpty(cachedString))
            {
                _distributedCache.SetString("TEST", "somevaluetocache");
                _logger.LogInformation("Was not found, ... but now set.");
            }
            else
            {
                _logger.LogInformation("Yeah, ... was found : " + cachedString);
            }

            var barcode  = Code128Encoder.Encode(data, true);
            var renderer = new ImageRenderer();
            var stream   = new MemoryStream();

            renderer.Render(barcode, stream);

            return(File(stream.ToArray(), "image/png"));
        }
Exemplo n.º 5
0
        public void Interpret_WhenParsingSpecialCase_InterpretsCorrectly(string input)
        {
            var encoder = new Code128Encoder(new DefaultMapping(), EncodedCode128Factory.Default,
                                             Encoding.GetEncoding(1252));
            var generated   = encoder.Encode(input);
            var interpreted = _interpreter.Interpret(generated.ToPatternList());

            Assert.Equal(input, interpreted);
        }
        public IActionResult GetBarcode(string data)
        {
            var barcode  = Code128Encoder.Encode(data, true);
            var renderer = new ImageRenderer();
            var stream   = new MemoryStream();

            renderer.Render(barcode, stream);

            return(File(stream.ToArray(), "image/png"));
        }
Exemplo n.º 7
0
        public void Encode_WhenGivingSample_ProducesMinimalLength(string input, string pattern)
        {
            var code  = _encoder.Encode(input);
            var parts = pattern.Split(' ').Select(byte.Parse).ToArray();

            Print(code);
            Assert.Equal(parts.Length, code.Data.Count);
            Assert.Equal(parts, code.Data);
        }
Exemplo n.º 8
0
        public void Render_Barcode1D()
        {
            // Arrange
            var      renderer = new ImageRenderer();
            IBarcode barcode  = Code128Encoder.Encode("Wikipedia");

            // Act
            byte[] data = RenderBarcodeToByteArray(renderer, barcode);

            // Assert
            data.Should().NotBeNull();
        }
Exemplo n.º 9
0
        public void Render_Barcode1D()
        {
            // Arrange
            var      renderer = new SvgRenderer();
            IBarcode barcode  = Code128Encoder.Encode("Wikipedia");
            string   expected = GetExpectedSvgOutput("Code128.ExpectedSvgOutput.txt");

            // Act
            string svg = RenderBarcodeToString(renderer, barcode);

            // Assert
            svg.Length.Should().BeGreaterOrEqualTo(0);
            svg.Should().Be(expected);
        }
Exemplo n.º 10
0
        public static byte[] GerarCodBarras128(this string codbar, int?heigthPng = null)
        {
            if (string.IsNullOrWhiteSpace(codbar))
            {
                throw new Exception("Código de barras não informado");
            }

            var bar    = Code128Encoder.Encode(codbar);
            var render = new ImageRenderer(barHeightFor1DBarcode: heigthPng ?? 25);

            using (var ms = new MemoryStream())
            {
                render.Render(bar, ms);
                return(ms.ToArray());
            }
        }
Exemplo n.º 11
0
                    "1100011101011")] // STOP
        public void Encode(string txt, string testResult)
        {
            IBarcodeIntCS code = Code128Encoder.Encode(txt);

            code.Bounds.X.Should().Be(testResult.Length);
            code.Bounds.Y.Should().Be(1);
            code.Metadata.CodeKind.Should().Be(BarcodeType.Code128);
            code.Metadata.Dimensions.Should().Be(1);

            string encoded = string.Empty;
            int    i       = 0;

            foreach (var r in testResult)
            {
                encoded += code.At(i++, 0) ? "1" : "0";
            }
            encoded.Should().Be(testResult);
        }