public void SerializeKeyAsValueOnlyGivenStringValue()
    {
        var items = new ExtendableEnumDictionary <SampleStatusByString, string>
        {
            { SampleStatusByString.Active, nameof(SampleStatusByString.Active) },
            { SampleStatusByString.Deleted, nameof(SampleStatusByString.Deleted) },
        };

        var serialized = JsonConvert.SerializeObject(items);

        Assert.AreEqual("{\"B\":\"Active\",\"C\":\"Deleted\"}", serialized);
    }
    public void DeserializeGivenValidSerializedByString()
    {
        var serialized = "{ \"B\":\"Active\",\"C\":\"Deleted\"}";

        var expected = new ExtendableEnumDictionary <SampleStatusByString, string>
        {
            { SampleStatusByString.Active, nameof(SampleStatusByString.Active) },
            { SampleStatusByString.Deleted, nameof(SampleStatusByString.Deleted) },
        };

        var result = JsonConvert.DeserializeObject <ExtendableEnumDictionary <SampleStatusByString, string> >(serialized);

        result.Should().BeEquivalentTo(expected);
    }
    public void DeserializeGivenDisplayNameSerialized()
    {
        Console.WriteLine(JsonConvert.SerializeObject(SampleStatus.Active));
        var serialized = "{ \"Active\":\"Active\",\"Deleted\":\"Deleted\"}";

        var expected = new ExtendableEnumDictionary <SampleStatus, string>
        {
            { SampleStatus.Active, nameof(SampleStatus.Active) },
            { SampleStatus.Deleted, nameof(SampleStatus.Deleted) },
        };

        var result = JsonConvert.DeserializeObject <ExtendableEnumDictionary <SampleStatus, string> >(serialized);

        result.Should().BeEquivalentTo(expected);
    }