小编Haw*_*awk的帖子

为什么chart.js画布不尊重容器元素的填充?

我使用Chart.js和简单的折线图,但Chart.js计算的宽度和高度属性似乎是基于忽略填充的父元素的总宽度和高度.

var options = {
    maintainAspectRatio: false,
    responsive: true
};

var data = {
    labels: ["", "", "", "", "", "", ""],
    datasets: [
        {
            label: "My First dataset",
            fillColor: "rgba(220,220,220,0.2)",
            strokeColor: "rgba(220,220,220,1)",
            pointColor: "rgba(220,220,220,1)",
            pointStrokeColor: "#fff",
            pointHighlightFill: "#fff",
            pointHighlightStroke: "rgba(220,220,220,1)",
            data: [65, 59, 80, 81, 56, 55, 40]
        },
        {
            label: "My Second dataset",
            fillColor: "rgba(151,187,205,0.2)",
            strokeColor: "rgba(151,187,205,1)",
            pointColor: "rgba(151,187,205,1)",
            pointStrokeColor: "#fff",
            pointHighlightFill: "#fff",
            pointHighlightStroke: "rgba(151,187,205,1)",
            data: [28, 48, 40, 19, 86, 27, 90]
        }
    ]
};

var ctx1 …
Run Code Online (Sandbox Code Playgroud)

html javascript css canvas chart.js

28
推荐指数
1
解决办法
5万
查看次数

C#Fluent断言ShouldBeEquivalentTo的全局选项

在Fluent Assertions中,将对象与DateTime属性进行比较时,有时会在毫秒内出现轻微的不匹配,并且比较失败.我们解决它的方法是设置比较选项,如下所示:

actual.ShouldBeEquivalentTo(expected,
        options =>
            options.Using<DateTime>(ctx => ctx.Subject.Should().BeCloseTo(ctx.Expectation))
                .WhenTypeIs<DateTime>());
Run Code Online (Sandbox Code Playgroud)

有没有办法设置一次并让它始终适用,而不是每次调用ShouldBeEquivalentTo时都必须指定它?

Update1:​​尝试了以下方法,但它似乎不起作用,测试失败1毫秒的差异.工厂似乎没有调用新的默认值.

using System;
using FluentAssertions;
using FluentAssertions.Equivalency;
using Microsoft.VisualStudio.TestTools.UnitTesting;

namespace UnitTestProject1
{
    class Test
    {
        public DateTime TestDateTime { get; set; }
    }

    [TestClass]
    public class UnitTest1
    {
        [TestMethod]
        public void SettingFluentAssertionDefault()
        {
            // arrange
            var defaultAssertionOptions = EquivalencyAssertionOptions<DateTime>.Default;

            EquivalencyAssertionOptions<DateTime>.Default = () =>
            {
                var config = defaultAssertionOptions();
                config.Using<DateTime>(ctx => ctx.Subject.Should().BeCloseTo(ctx.Expectation)).WhenTypeIs<DateTime>();
                return config;
            };

            var testDateTime = DateTime.Now;
            var expected = new Test {TestDateTime = testDateTime};

            // act
            var actual …
Run Code Online (Sandbox Code Playgroud)

c# fluent-assertions

15
推荐指数
2
解决办法
8064
查看次数

标签 统计

c# ×1

canvas ×1

chart.js ×1

css ×1

fluent-assertions ×1

html ×1

javascript ×1