示例#1
0
    public void Create_Empty_List()
    {
        // Arrange
        var list = new EnumeratedList <Foo>();

        // Act

        // Assert
        Assert.Empty(list);
    }
示例#2
0
    public void Null_Or_Empty_Returns_Empty_List(string input)
    {
        // Arrange

        // Act
        var result = EnumeratedList.Deserialise <Foo>(input);

        // Assert
        Assert.Empty(result);
    }
示例#3
0
    public void Create_Empty_List_From_Null_Strings(List <string> input)
    {
        // Arrange

        // Act
        var result = new EnumeratedList <Foo>(input);

        // Assert
        Assert.Empty(result);
    }
示例#4
0
    public void Incorrect_Json_Returns_Empty_List()
    {
        // Arrange
        const string?json = /*lang=json,strict*/ "{\"foo\":\"bar\"}";

        // Act
        var result = EnumeratedList.Deserialise <Foo>(json);

        // Assert
        Assert.Empty(result);
    }
示例#5
0
    public void Invalid_Json_Returns_Empty_List()
    {
        // Arrange
        var json = Rnd.Str;

        // Act
        var result = EnumeratedList.Deserialise <Foo>(json);

        // Assert
        Assert.Empty(result);
    }
示例#6
0
    public void Empty_List_Returns_Empty_Json()
    {
        // Arrange
        var list = new EnumeratedList <Foo>();

        // Act
        var result = list.Serialise();

        // Assert
        Assert.Equal(JsonF.Empty, result);
    }
示例#7
0
    public void Create_List_From_Strings()
    {
        // Arrange
        var values = new[] { nameof(Foo.A), nameof(Foo.B) }.ToList();

        // Act
        var result = new EnumeratedList <Foo>(values);

        // Assert
        Assert.Equal(Foo.A.ToString(), result[0].ToString());
        Assert.Equal(Foo.B.ToString(), result[1].ToString());
    }
示例#8
0
    public void List_Returns_Json()
    {
        // Arrange
        var list = new EnumeratedList <Foo> {
            { Foo.A }, { Foo.B }
        };
        var json = $"[\"{Foo.A}\",\"{Foo.B}\"]";

        // Act
        var result = list.Serialise();

        // Assert
        Assert.Equal(json, result);
    }
示例#9
0
    public void Correct_Json_Returns_List()
    {
        // Arrange
        var itemA = new Foo(Rnd.Str);
        var itemB = new Foo(Rnd.Str);
        var itemC = new Foo(Rnd.Str);
        var itemD = new Foo(Rnd.Str);
        var json  = $"[\"{itemB}\",\"{itemD}\",\"{itemA}\",\"{itemC}\"]";

        // Act
        var result = EnumeratedList.Deserialise <Foo>(json);

        // Assert
        Assert.Collection(result,
                          b => Assert.Equal(itemB, b),
                          d => Assert.Equal(itemD, d),
                          a => Assert.Equal(itemA, a),
                          c => Assert.Equal(itemC, c)
                          );
    }
示例#10
0
 /// <summary>
 /// Parse from list of string values and convert
 /// </summary>
 /// <param name="xml">JSON string</param>
 protected override EnumeratedList <T> Parse(string xml) =>
 EnumeratedList.Deserialise <T>(xml);