Esempio n. 1
0
    def test__percent_recent(self) -> None:
        # Arrange
        data = copy.deepcopy(SAMPLE_DATA_RECENT)

        # Act
        output = pypistats._percent(data)

        # Assert
        assert output == SAMPLE_DATA_RECENT
Esempio n. 2
0
    def test__percent_one_row(self) -> None:
        # Arrange
        data = copy.deepcopy(SAMPLE_DATA_ONE_ROW)

        # Act
        output = pypistats._percent(data)

        # Assert
        assert output == SAMPLE_DATA_ONE_ROW
Esempio n. 3
0
    def test__percent_recent(self):
        # Arrange
        data = copy.deepcopy(SAMPLE_DATA_RECENT)

        # Act
        output = pypistats._percent(data)

        # Assert
        self.assertEqual(output, SAMPLE_DATA_RECENT)
Esempio n. 4
0
    def test__percent_one_row(self):
        # Arrange
        data = copy.deepcopy(SAMPLE_DATA_ONE_ROW)

        # Act
        output = pypistats._percent(data)

        # Assert
        self.assertEqual(output, SAMPLE_DATA_ONE_ROW)
Esempio n. 5
0
    def test__percent(self) -> None:
        # Arrange
        data = [
            {
                "category": "2.7",
                "downloads": 63749
            },
            {
                "category": "3.6",
                "downloads": 35274
            },
            {
                "category": "2.6",
                "downloads": 51
            },
            {
                "category": "3.2",
                "downloads": 2
            },
        ]
        expected_output = [
            {
                "category": "2.7",
                "percent": "64.34%",
                "downloads": 63749
            },
            {
                "category": "3.6",
                "percent": "35.60%",
                "downloads": 35274
            },
            {
                "category": "2.6",
                "percent": "0.05%",
                "downloads": 51
            },
            {
                "category": "3.2",
                "percent": "0.00%",
                "downloads": 2
            },
        ]

        # Act
        output = pypistats._percent(data)

        # Assert
        assert output == expected_output
Esempio n. 6
0
    def test__colourify(self) -> None:
        # Arrange
        data = [
            {
                "category": "2.7",
                "downloads": 1
            },
            {
                "category": "3.5",
                "downloads": 10
            },
            {
                "category": "3.10",
                "downloads": 89
            },
        ]
        expected_output = [
            # red
            {
                "category": "2.7",
                "downloads": 1,
                "percent": "\x1b[31m1.00%\x1b[0m"
            },
            # yellow
            {
                "category": "3.5",
                "downloads": 10,
                "percent": "\x1b[33m10.00%\x1b[0m"
            },
            # green
            {
                "category": "3.10",
                "downloads": 89,
                "percent": "\x1b[32m89.00%\x1b[0m"
            },
            {
                "category": "Total",
                "downloads": 100
            },
        ]
        data = pypistats._percent(data)
        data = pypistats._grand_total(data)

        # Act
        output = pypistats._colourify(data)

        # Assert
        assert output == expected_output