Skip to content

Consider adding a variant which inverses the declaration by being case by case#29

Description

@foresterre

Current:

    #[parameterized(
        text = {
            "aaa",
            "bab",
            "馃槂bc"
        },
        expected = {
            'a',
            'b',
            '馃槂'
        }
    )]
    fn test_peek_first_chars(text: &str, expected: char) {
        assert_eq!(text.peek_first(), expected);
    }

declared case by case:

    #[parameterized'(
        triple_a = {
            "aaa",
            'a',
       },
       bab = {
            "bab",
            'b',
        },
        emoji = {
            text: "馃槂ab", // optionally named, but original order should be preserved for consistency
            expected: '馃槂'
        }
    )]
    fn test_peek_first_chars(text: &str, expected: char) {
        assert_eq!(text.peek_first(), expected);
    }

Advantages

  • trivial to define test case naming
  • potentially declaring a lot of test argument identifiers on test case declaration (that's why making them optional is a good idea I think)

Disadvantages:

  • similar test case data spread out more
  • potentially huge attribute declarations, with nesting which makes it potentially harder to read

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions