Passed
Pull Request — master (#13)
by Ramon
01:39
created

tests.functions.test_origin_and_alias   A

Complexity

Total Complexity 2

Size/Duplication

Total Lines 40
Duplicated Lines 52.5 %

Importance

Changes 0
Metric Value
eloc 35
dl 21
loc 40
rs 10
c 0
b 0
f 0
wmc 2

2 Methods

Rating   Name   Duplication   Size   Complexity  
A TestOriginAndAlias.test_get_origin() 9 9 1
A TestOriginAndAlias.test_get_alias() 10 10 1

How to fix   Duplicated Code   

Duplicated Code

Duplicate code is one of the most pungent code smells. A rule that is often used is to re-structure code once it is duplicated in three or more places.

Common duplication problems, and corresponding solutions are:

1
from collections import deque, defaultdict
2
from collections.abc import Set
3
from typing import (
4
    Dict,
5
    List,
6
    Tuple,
7
    FrozenSet,
8
    Deque,
9
    DefaultDict,
10
    Type,
11
    AbstractSet,
12
    Set as TypingSet
13
)
14
from unittest import TestCase
15
16
from typish import get_origin, get_alias
17
18
19 View Code Duplication
class TestOriginAndAlias(TestCase):
0 ignored issues
show
Duplication introduced by
This code seems to be duplicated in your project.
Loading history...
20
    def test_get_origin(self):
21
        self.assertEqual(list, get_origin(List[int]))
22
        self.assertEqual(tuple, get_origin(Tuple[int, ...]))
23
        self.assertEqual(dict, get_origin(Dict[str, int]))
24
        self.assertEqual(set, get_origin(TypingSet))
25
        self.assertEqual(deque, get_origin(Deque))
26
        self.assertEqual(defaultdict, get_origin(DefaultDict))
27
        self.assertEqual(type, get_origin(Type[int]))
28
        self.assertEqual(Set, get_origin(AbstractSet))
29
30
    def test_get_alias(self):
31
        self.assertEqual(List, get_alias(list))
32
        self.assertEqual(Tuple, get_alias(tuple))
33
        self.assertEqual(Dict, get_alias(dict))
34
        self.assertEqual(TypingSet, get_alias(set))
35
        self.assertEqual(FrozenSet, get_alias(frozenset))
36
        self.assertEqual(Deque, get_alias(deque))
37
        self.assertEqual(DefaultDict, get_alias(defaultdict))
38
        self.assertEqual(Type, get_alias(type))
39
        self.assertEqual(AbstractSet, get_alias(Set))
40