Esempio n. 1
0
        public void svg_data_url()
        {
            var html = @"
<html>
   <head></head>
   <body>
      <h1>ffff</h1>
      <img src='{imgdata}' />
      <h2>dddd</h2>
   </body>
</html>
";

            var dataUri = image.DataUri(200, 300, "red");

            console.Dump(dataUri);
            var content  = html.Replace("{imgdata}", dataUri);
            var filename = Path.ChangeExtension(Path.GetRandomFileName(), "html");
            var file     = Path.Combine(Path.GetTempPath(), filename);

            File.WriteAllText(file, content);
            console.Dump(file);

            image.DataUri(200, 300).Should()
            .Be(
                "data:image/svg+xml;charset=UTF-8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20version%3D%221.1%22%20baseProfile%3D%22full%22%20width%3D%22200%22%20height%3D%22300%22%3E%3Crect%20width%3D%22100%25%22%20height%3D%22100%25%22%20fill%3D%22grey%22%2F%3E%3Ctext%20x%3D%22100%22%20y%3D%22150%22%20font-size%3D%2220%22%20alignment-baseline%3D%22middle%22%20text-anchor%3D%22middle%22%20fill%3D%22white%22%3E200x300%3C%2Ftext%3E%3C%2Fsvg%3E");
        }
Esempio n. 2
0
        public void can_generate_random_amount_by_derived_faker()
        {
            var faker = new CustomFaker <Order>()
                        .RuleFor(x => x.Item, f => f.Commerce.Product())
                        .RuleFor(x => x.Quantity, f => f.Random.Number(1, 10))
                        .RuleFor(x => x.OrderId, f => f.UniqueIndex)
                        as CustomFaker <Order>;

            var fakes = faker.Generate(1, 10);

            fakes.Count.Should().BeGreaterOrEqualTo(1).And.BeLessOrEqualTo(10);
            console.Dump(fakes.Count);
        }
Esempio n. 3
0
        public void calling_finish_with_twice_is_okay()
        {
            var productCalled = false;
            var colorCalled   = false;

            var faker = new Faker <Order>()
                        .RuleFor(o => o.OrderId, f => f.Random.Number(1, 50))
                        .FinishWith((f, o) =>
            {
                productCalled = true;
                o.Item        = f.Commerce.Product();
            })
                        .FinishWith((f, o) =>
            {
                colorCalled = true;
                o.Item      = f.Commerce.Color();
            });

            var order = faker.Generate();

            order.Item.Should().Be("yellow");

            //sanity check
            productCalled.Should().BeFalse();
            colorCalled.Should().BeTrue();

            console.Dump(order);
        }
Esempio n. 4
0
        public void parse_test()
        {
            var f = new Faker();
            var s = Tokenizer.Parse("{{name.lastName}}, {{name.firstName}} {{name.suffix}}", f.Name);

            console.Dump(s);
            s.Should().Be("Mitchell, Bernhard DDS");
        }
Esempio n. 5
0
        public void Test1()
        {
            var src    = LoadFile("test1.hcl");
            var parser = new Parser();

            var result = parser.Parse(src);

            output.Dump(result);
        }
Esempio n. 6
0
        private void RunAnotherPrecedingFaker()
        {
            var fakerRule = new Faker <Models.Order>()
                            .RuleFor(o => o.OrderId, f => f.IndexGlobal)
                            .RuleFor(o => o.Item, f => f.Commerce.Product())
                            .RuleFor(o => o.Quantity, f => f.Random.Number(1, 3));

            var ordersRules = fakerRule.Generate(5);

            console.Dump(ordersRules);
        }
Esempio n. 7
0
        public void can_get_random_number_of_paragraphs()
        {
            var text = lorem.Paragraphs(5, 7);

            console.Dump(text);

            text.Split("\n\n")
            .Length.Should()
            .BeGreaterOrEqualTo(5)
            .And
            .BeLessOrEqualTo(7);
        }
Esempio n. 8
0
        public void without_derived_faker()
        {
            var rootSeed = 0;
            var faker1   = new Faker <Order>()
                           .UseSeed(rootSeed++)
                           .RuleFor(o => o.OrderId, f => f.IndexVariable++)
                           .RuleFor(o => o.Item, f => f.Commerce.Product())
                           .RuleFor(o => o.Quantity, f => f.Random.Int(1, 5));

            faker1.FinishWith((f, o) =>
            {
                faker1.UseSeed(rootSeed++);
            });


            var orders1 = faker1.Generate(3);

            console.Dump(orders1);
            CheckSequence(orders1);


            rootSeed = 0;
            var faker2 = new Faker <Order2>()
                         .UseSeed(rootSeed++)
                         .RuleFor(o => o.OrderId, f => f.IndexVariable++)
                         .RuleFor(o => o.Item, f => f.Commerce.Product())
                         .RuleFor(o => o.Quantity, f => f.Random.Int(1, 5))
                         .RuleFor(o => o.Tax, f => f.Random.Int(9, 15));

            faker2.FinishWith((f, o) =>
            {
                faker2.UseSeed(rootSeed++);
            });

            var orders2 = faker2.Generate(3);

            CheckSequence(orders2);

            console.Dump(orders2);
        }
Esempio n. 9
0
        public void can_generate_valid_sin()
        {
            var obtained = Get(10, p => p.Sin());

            console.Dump(obtained);

            var truth = new[]
            {
                "746 924 794",
                "595 169 327",
                "083 194 845",
                "335 860 631",
                "865 181 952",
                "320 968 522",
                "949 882 807",
                "003 727 773",
                "678 373 663",
                "250 448 792"
            };

            obtained.Should().Equal(truth);
        }
Esempio n. 10
0
        public void can_generate_valid_sin()
        {
            var obtained = Get(10, p => p.Sin());

            console.Dump(obtained);

            var truth = new[]
            {
                "839 188 984",
                "325 702 553",
                "319 484 895",
                "586 063 471",
                "518 195 482",
                "964 093 777",
                "779 498 823",
                "920 006 517",
                "933 919 375",
                "399 632 215"
            };

            obtained.Should().Equal(truth);
        }
Esempio n. 11
0
        public void github_issue121_workaround()
        {
            var faker = new Faker <TestObject>()
                        .StrictMode(true)
                        .RuleFor(x => x.Id, x => Guid.NewGuid())
                        .RuleFor(x => x.Name, x => x.Person.FirstName);

            var updateFaker = faker.Clone()
                              .Ignore(x => x.Id);

            var obj = faker.Generate();

            var id   = obj.Id;   // value copy
            var name = obj.Name; // value copy

            updateFaker.Populate(obj);

            console.Dump($"Copy values - id: {id}, name: {name}");
            console.Dump(obj);

            id.Should().Be(obj.Id);
            name.Should().NotBe(obj.Name);
        }