public void MajorMinorPatchVersion_SecondVersionEqualFirstTestCase()
        {
            const int  expectedValue = 0;
            Version1_1 v1            = null;
            Version1_1 v2            = null;

            Given("Create first version.", () => v1 = new Version1_1())
            .And("Create second version.", _ =>
                 v2 = new Version1_1())
            .When("Compare version.", _ =>
                  v2.CompareTo(v1))
            .ThenAreEqual(expectedValue)
            .Run();
        }
        public void MajorMinorPatchVersionVersionNotLessThanUintTestCase()
        {
            const string expectedReason = "Unable to compare versions Version1_1 and Version1.";
            Version1_1   v1             = null;
            Version1     uintVersion    = null;

            Given("Create first version.", () => v1 = new Version1_1())
            .And("Create second version.", _ =>
                 uintVersion = new Version1())
            .When("Compare version.", _ =>
                  ExpectedFactFactoryException(() => v1.CompareTo(uintVersion)))
            .ThenAssertErrorDetail(ErrorCode.InvalidFactType, expectedReason)
            .Run();
        }
        public void MajorMinorPatchVersion_FirstVersionLessThanSecondTestCase()
        {
            const int  expectedValue = -1;
            Version1_0 v1            = null;
            Version1_1 v2            = null;

            Given("Create first version.", () => v1 = new Version1_0())
            .And("Create second version.", _ =>
                 v2 = new Version1_1())
            .When("Compare version.", _ =>
                  v1.CompareTo(v2))
            .ThenAreEqual(expectedValue)
            .Run();
        }
Ejemplo n.º 4
0
    public static Func <Beatmap> GetSerializer(string fileName, bool upgradeMap = true)
    {
        Func <Beatmap> deserializer = null;
        string         version      = null;

        using (StreamReader stream = new StreamReader(fileName))
        {
            string text = stream.ReadToEnd();
            //Test Json parsers
            {
                JObject jObject;
                if (Helper.TryParseJObject(text, out jObject))
                {
                    version = jObject["version"].Value <string>();
                    if (version == "1.1")
                    {
                        deserializer = () => Version1_1.Deserialize(jObject);
                        goto end;
                    }
                    else
                    {
                        Debug.Log($"Version {version} is not supported");
                        goto end;
                    }
                }
            }
        }
end:
        if (upgradeMap && deserializer != null && version != null && m_latestDeserializer != null && version != m_latestDeserializer.Version)
        {
            Debug.Log($"Upgrading map from version {version} to {m_latestDeserializer.Version}");
            Beatmap map  = deserializer.Invoke();
            string  file = BeatmapStore.GetFileNameForMap(BeatmapStore.GetFolderForMap(map), map);
            SerializeBeatmap(map, file);
            deserializer = GetSerializer(file, false);
        }
        return(deserializer);
    }