public void CloudBuildOptions_Equality()
    {
        var cbo1a = new VersionOptions.CloudBuildOptions {
        };
        var cbo1b = new VersionOptions.CloudBuildOptions {
        };

        Assert.Equal(cbo1a, cbo1b);

        var cbo2a = new VersionOptions.CloudBuildOptions
        {
            SetVersionVariables = !cbo1a.SetVersionVariablesOrDefault,
        };

        Assert.NotEqual(cbo2a, cbo1a);

        var cbo3a = new VersionOptions.CloudBuildOptions
        {
            BuildNumber = new VersionOptions.CloudBuildNumberOptions {
            },
        };

        Assert.Equal(cbo3a, cbo1a); // Equal because we haven't changed defaults.

        var cbo4a = new VersionOptions.CloudBuildOptions
        {
            BuildNumber = new VersionOptions.CloudBuildNumberOptions
            {
                Enabled = !cbo1a.BuildNumberOrDefault.EnabledOrDefault,
            },
        };

        Assert.NotEqual(cbo4a, cbo1a);
    }
    public void CloudBuildOptions_Equality()
    {
        var cbo1a = new VersionOptions.CloudBuildOptions { };
        var cbo1b = new VersionOptions.CloudBuildOptions { };
        Assert.Equal(cbo1a, cbo1b);

        var cbo2a = new VersionOptions.CloudBuildOptions
        {
            SetVersionVariables = !cbo1a.SetVersionVariables,
        };
        Assert.NotEqual(cbo2a, cbo1a);

        var cbo3a = new VersionOptions.CloudBuildOptions
        {
            BuildNumber = new VersionOptions.CloudBuildNumberOptions { },
        };
        Assert.Equal(cbo3a, cbo1a); // Equal because we haven't changed defaults.

        var cbo4a = new VersionOptions.CloudBuildOptions
        {
            BuildNumber = new VersionOptions.CloudBuildNumberOptions
            {
                Enabled = !(new VersionOptions.CloudBuildNumberOptions().Enabled),
            },
        };
        Assert.NotEqual(cbo4a, cbo1a);
    }