AllYarnsAreBeautiful/knittingpattern

View on GitHub
knittingpattern/convert/test/test_layout.py

Summary

Maintainability
F
3 days
Test Coverage

TestAddAndRemoveMeshes has 41 functions (exceeds 20 allowed). Consider refactoring.
Open

class TestAddAndRemoveMeshes(BaseTest):
    """take away and add meshes at the right and left."""
    FILE = "add and remove meshes.json"
    SIZES = [(1, 1)] * 17
    COORDINATES = [
Severity: Minor
Found in knittingpattern/convert/test/test_layout.py - About 5 hrs to fix

    File test_layout.py has 262 lines of code (exceeds 250 allowed). Consider refactoring.
    Open

    """Test the layout of knitting patterns."""
    from test_convert import fixture
    import os
    from knittingpattern.convert.Layout import GridLayout, InstructionInGrid
    from knittingpattern import load_from_relative_file
    Severity: Minor
    Found in knittingpattern/convert/test/test_layout.py - About 2 hrs to fix

      Cyclomatic complexity is too high in class TestSmallCafe. (6)
      Open

      class TestSmallCafe(BaseTest):
          """This test tests the negative expansion of rows.
      
          If you start expanding in the middle, this tests that all rows are
          included.

      Cyclomatic Complexity

      Cyclomatic Complexity corresponds to the number of decisions a block of code contains plus 1. This number (also called McCabe number) is equal to the number of linearly independent paths through the code. This number can be used as a guide when testing conditional logic in blocks.

      Radon analyzes the AST tree of a Python program to compute Cyclomatic Complexity. Statements have the following effects on Cyclomatic Complexity:

      Construct Effect on CC Reasoning
      if +1 An if statement is a single decision.
      elif +1 The elif statement adds another decision.
      else +0 The else statement does not cause a new decision. The decision is at the if.
      for +1 There is a decision at the start of the loop.
      while +1 There is a decision at the while statement.
      except +1 Each except branch adds a new conditional path of execution.
      finally +0 The finally block is unconditionally executed.
      with +1 The with statement roughly corresponds to a try/except block (see PEP 343 for details).
      assert +1 The assert statement internally roughly equals a conditional statement.
      Comprehension +1 A list/set/dict comprehension of generator expression is equivalent to a for loop.
      Boolean Operator +1 Every boolean operator (and, or) adds a decision point.

      Source: http://radon.readthedocs.org/en/latest/intro.html

      TODO found
      Open

      # TODO

      Similar blocks of code found in 3 locations. Consider refactoring.
      Open

          def test_size(self, grid):
              """Test teh sizes of the layout."""
              generated = sizes(grid)
              print("generated:", generated)
              print("expected: ", self.SIZES)
      Severity: Major
      Found in knittingpattern/convert/test/test_layout.py and 2 other locations - About 1 hr to fix
      knittingpattern/convert/test/test_layout.py on lines 58..63
      knittingpattern/convert/test/test_layout.py on lines 84..89

      Duplicated Code

      Duplicated code can lead to software that is hard to understand and difficult to change. The Don't Repeat Yourself (DRY) principle states:

      Every piece of knowledge must have a single, unambiguous, authoritative representation within a system.

      When you violate DRY, bugs and maintenance problems are sure to follow. Duplicated code has a tendency to both continue to replicate and also to diverge (leaving bugs as two similar implementations differ in subtle ways).

      Tuning

      This issue has a mass of 44.

      We set useful threshold defaults for the languages we support but you may want to adjust these settings based on your project guidelines.

      The threshold configuration represents the minimum mass a code block must have to be analyzed for duplication. The lower the threshold, the more fine-grained the comparison.

      If the engine is too easily reporting duplication, try raising the threshold. If you suspect that the engine isn't catching enough duplication, try lowering the threshold. The best setting tends to differ from language to language.

      See codeclimate-duplication's documentation for more information about tuning the mass threshold in your .codeclimate.yml.

      Refactorings

      Further Reading

      Similar blocks of code found in 3 locations. Consider refactoring.
      Open

          def test_coordinates(self, grid):
              """Test the coordinates of the layout."""
              coords = coordinates(grid)
              print("generated:", coords)
              print("expected: ", self.COORDINATES)
      Severity: Major
      Found in knittingpattern/convert/test/test_layout.py and 2 other locations - About 1 hr to fix
      knittingpattern/convert/test/test_layout.py on lines 65..70
      knittingpattern/convert/test/test_layout.py on lines 84..89

      Duplicated Code

      Duplicated code can lead to software that is hard to understand and difficult to change. The Don't Repeat Yourself (DRY) principle states:

      Every piece of knowledge must have a single, unambiguous, authoritative representation within a system.

      When you violate DRY, bugs and maintenance problems are sure to follow. Duplicated code has a tendency to both continue to replicate and also to diverge (leaving bugs as two similar implementations differ in subtle ways).

      Tuning

      This issue has a mass of 44.

      We set useful threshold defaults for the languages we support but you may want to adjust these settings based on your project guidelines.

      The threshold configuration represents the minimum mass a code block must have to be analyzed for duplication. The lower the threshold, the more fine-grained the comparison.

      If the engine is too easily reporting duplication, try raising the threshold. If you suspect that the engine isn't catching enough duplication, try lowering the threshold. The best setting tends to differ from language to language.

      See codeclimate-duplication's documentation for more information about tuning the mass threshold in your .codeclimate.yml.

      Refactorings

      Further Reading

      Similar blocks of code found in 3 locations. Consider refactoring.
      Open

          def test_connections(self, grid):
              """test the connections betwen rows."""
              generated = connections(grid)
              print("generated:", generated)
              print("expected: ", self.LARGER_CONNECTIONS)
      Severity: Major
      Found in knittingpattern/convert/test/test_layout.py and 2 other locations - About 1 hr to fix
      knittingpattern/convert/test/test_layout.py on lines 58..63
      knittingpattern/convert/test/test_layout.py on lines 65..70

      Duplicated Code

      Duplicated code can lead to software that is hard to understand and difficult to change. The Don't Repeat Yourself (DRY) principle states:

      Every piece of knowledge must have a single, unambiguous, authoritative representation within a system.

      When you violate DRY, bugs and maintenance problems are sure to follow. Duplicated code has a tendency to both continue to replicate and also to diverge (leaving bugs as two similar implementations differ in subtle ways).

      Tuning

      This issue has a mass of 44.

      We set useful threshold defaults for the languages we support but you may want to adjust these settings based on your project guidelines.

      The threshold configuration represents the minimum mass a code block must have to be analyzed for duplication. The lower the threshold, the more fine-grained the comparison.

      If the engine is too easily reporting duplication, try raising the threshold. If you suspect that the engine isn't catching enough duplication, try lowering the threshold. The best setting tends to differ from language to language.

      See codeclimate-duplication's documentation for more information about tuning the mass threshold in your .codeclimate.yml.

      Refactorings

      Further Reading

      Similar blocks of code found in 2 locations. Consider refactoring.
      Open

      def coordinates(layout):
          """The coordinates of the layout."""
          return list(layout.walk_instructions(lambda point: (point.x, point.y)))
      Severity: Minor
      Found in knittingpattern/convert/test/test_layout.py and 1 other location - About 45 mins to fix
      knittingpattern/convert/test/test_layout.py on lines 14..16

      Duplicated Code

      Duplicated code can lead to software that is hard to understand and difficult to change. The Don't Repeat Yourself (DRY) principle states:

      Every piece of knowledge must have a single, unambiguous, authoritative representation within a system.

      When you violate DRY, bugs and maintenance problems are sure to follow. Duplicated code has a tendency to both continue to replicate and also to diverge (leaving bugs as two similar implementations differ in subtle ways).

      Tuning

      This issue has a mass of 35.

      We set useful threshold defaults for the languages we support but you may want to adjust these settings based on your project guidelines.

      The threshold configuration represents the minimum mass a code block must have to be analyzed for duplication. The lower the threshold, the more fine-grained the comparison.

      If the engine is too easily reporting duplication, try raising the threshold. If you suspect that the engine isn't catching enough duplication, try lowering the threshold. The best setting tends to differ from language to language.

      See codeclimate-duplication's documentation for more information about tuning the mass threshold in your .codeclimate.yml.

      Refactorings

      Further Reading

      Similar blocks of code found in 2 locations. Consider refactoring.
      Open

      def sizes(layout):
          """The sizes of the instructions of the layout."""
          return list(layout.walk_instructions(lambda p: (p.width, p.height)))
      Severity: Minor
      Found in knittingpattern/convert/test/test_layout.py and 1 other location - About 45 mins to fix
      knittingpattern/convert/test/test_layout.py on lines 9..11

      Duplicated Code

      Duplicated code can lead to software that is hard to understand and difficult to change. The Don't Repeat Yourself (DRY) principle states:

      Every piece of knowledge must have a single, unambiguous, authoritative representation within a system.

      When you violate DRY, bugs and maintenance problems are sure to follow. Duplicated code has a tendency to both continue to replicate and also to diverge (leaving bugs as two similar implementations differ in subtle ways).

      Tuning

      This issue has a mass of 35.

      We set useful threshold defaults for the languages we support but you may want to adjust these settings based on your project guidelines.

      The threshold configuration represents the minimum mass a code block must have to be analyzed for duplication. The lower the threshold, the more fine-grained the comparison.

      If the engine is too easily reporting duplication, try raising the threshold. If you suspect that the engine isn't catching enough duplication, try lowering the threshold. The best setting tends to differ from language to language.

      See codeclimate-duplication's documentation for more information about tuning the mass threshold in your .codeclimate.yml.

      Refactorings

      Further Reading

      Similar blocks of code found in 20 locations. Consider refactoring.
      Open

          def test_i_2_1_produced(self, i_1, i_2):
              assert i_2[1].producing_instructions == [i_1[1]]
      Severity: Major
      Found in knittingpattern/convert/test/test_layout.py and 19 other locations - About 35 mins to fix
      knittingpattern/convert/test/test_layout.py on lines 168..169
      knittingpattern/convert/test/test_layout.py on lines 171..172
      knittingpattern/convert/test/test_layout.py on lines 174..175
      knittingpattern/convert/test/test_layout.py on lines 177..178
      knittingpattern/convert/test/test_layout.py on lines 182..183
      knittingpattern/convert/test/test_layout.py on lines 188..189
      knittingpattern/convert/test/test_layout.py on lines 191..192
      knittingpattern/convert/test/test_layout.py on lines 199..200
      knittingpattern/convert/test/test_layout.py on lines 202..203
      knittingpattern/convert/test/test_layout.py on lines 205..206
      knittingpattern/convert/test/test_layout.py on lines 216..217
      knittingpattern/convert/test/test_layout.py on lines 219..220
      knittingpattern/convert/test/test_layout.py on lines 222..223
      knittingpattern/convert/test/test_layout.py on lines 227..228
      knittingpattern/convert/test/test_layout.py on lines 230..231
      knittingpattern/convert/test/test_layout.py on lines 233..234
      knittingpattern/convert/test/test_layout.py on lines 241..242
      knittingpattern/convert/test/test_layout.py on lines 244..245
      knittingpattern/convert/test/test_layout.py on lines 247..248

      Duplicated Code

      Duplicated code can lead to software that is hard to understand and difficult to change. The Don't Repeat Yourself (DRY) principle states:

      Every piece of knowledge must have a single, unambiguous, authoritative representation within a system.

      When you violate DRY, bugs and maintenance problems are sure to follow. Duplicated code has a tendency to both continue to replicate and also to diverge (leaving bugs as two similar implementations differ in subtle ways).

      Tuning

      This issue has a mass of 33.

      We set useful threshold defaults for the languages we support but you may want to adjust these settings based on your project guidelines.

      The threshold configuration represents the minimum mass a code block must have to be analyzed for duplication. The lower the threshold, the more fine-grained the comparison.

      If the engine is too easily reporting duplication, try raising the threshold. If you suspect that the engine isn't catching enough duplication, try lowering the threshold. The best setting tends to differ from language to language.

      See codeclimate-duplication's documentation for more information about tuning the mass threshold in your .codeclimate.yml.

      Refactorings

      Further Reading

      Similar blocks of code found in 20 locations. Consider refactoring.
      Open

          def test_i_4_3_produced(self, i_3, i_4):
              assert i_4[3].producing_instructions == [i_3[2]]
      Severity: Major
      Found in knittingpattern/convert/test/test_layout.py and 19 other locations - About 35 mins to fix
      knittingpattern/convert/test/test_layout.py on lines 168..169
      knittingpattern/convert/test/test_layout.py on lines 171..172
      knittingpattern/convert/test/test_layout.py on lines 174..175
      knittingpattern/convert/test/test_layout.py on lines 177..178
      knittingpattern/convert/test/test_layout.py on lines 182..183
      knittingpattern/convert/test/test_layout.py on lines 185..186
      knittingpattern/convert/test/test_layout.py on lines 188..189
      knittingpattern/convert/test/test_layout.py on lines 191..192
      knittingpattern/convert/test/test_layout.py on lines 199..200
      knittingpattern/convert/test/test_layout.py on lines 202..203
      knittingpattern/convert/test/test_layout.py on lines 205..206
      knittingpattern/convert/test/test_layout.py on lines 216..217
      knittingpattern/convert/test/test_layout.py on lines 219..220
      knittingpattern/convert/test/test_layout.py on lines 222..223
      knittingpattern/convert/test/test_layout.py on lines 227..228
      knittingpattern/convert/test/test_layout.py on lines 230..231
      knittingpattern/convert/test/test_layout.py on lines 233..234
      knittingpattern/convert/test/test_layout.py on lines 241..242
      knittingpattern/convert/test/test_layout.py on lines 244..245

      Duplicated Code

      Duplicated code can lead to software that is hard to understand and difficult to change. The Don't Repeat Yourself (DRY) principle states:

      Every piece of knowledge must have a single, unambiguous, authoritative representation within a system.

      When you violate DRY, bugs and maintenance problems are sure to follow. Duplicated code has a tendency to both continue to replicate and also to diverge (leaving bugs as two similar implementations differ in subtle ways).

      Tuning

      This issue has a mass of 33.

      We set useful threshold defaults for the languages we support but you may want to adjust these settings based on your project guidelines.

      The threshold configuration represents the minimum mass a code block must have to be analyzed for duplication. The lower the threshold, the more fine-grained the comparison.

      If the engine is too easily reporting duplication, try raising the threshold. If you suspect that the engine isn't catching enough duplication, try lowering the threshold. The best setting tends to differ from language to language.

      See codeclimate-duplication's documentation for more information about tuning the mass threshold in your .codeclimate.yml.

      Refactorings

      Further Reading

      Similar blocks of code found in 20 locations. Consider refactoring.
      Open

          def test_i_3_1_consumed(self, i_3, i_4):
              assert i_3[1].consuming_instructions == [i_4[2]]
      Severity: Major
      Found in knittingpattern/convert/test/test_layout.py and 19 other locations - About 35 mins to fix
      knittingpattern/convert/test/test_layout.py on lines 168..169
      knittingpattern/convert/test/test_layout.py on lines 171..172
      knittingpattern/convert/test/test_layout.py on lines 174..175
      knittingpattern/convert/test/test_layout.py on lines 177..178
      knittingpattern/convert/test/test_layout.py on lines 182..183
      knittingpattern/convert/test/test_layout.py on lines 185..186
      knittingpattern/convert/test/test_layout.py on lines 188..189
      knittingpattern/convert/test/test_layout.py on lines 191..192
      knittingpattern/convert/test/test_layout.py on lines 199..200
      knittingpattern/convert/test/test_layout.py on lines 202..203
      knittingpattern/convert/test/test_layout.py on lines 205..206
      knittingpattern/convert/test/test_layout.py on lines 216..217
      knittingpattern/convert/test/test_layout.py on lines 219..220
      knittingpattern/convert/test/test_layout.py on lines 222..223
      knittingpattern/convert/test/test_layout.py on lines 227..228
      knittingpattern/convert/test/test_layout.py on lines 233..234
      knittingpattern/convert/test/test_layout.py on lines 241..242
      knittingpattern/convert/test/test_layout.py on lines 244..245
      knittingpattern/convert/test/test_layout.py on lines 247..248

      Duplicated Code

      Duplicated code can lead to software that is hard to understand and difficult to change. The Don't Repeat Yourself (DRY) principle states:

      Every piece of knowledge must have a single, unambiguous, authoritative representation within a system.

      When you violate DRY, bugs and maintenance problems are sure to follow. Duplicated code has a tendency to both continue to replicate and also to diverge (leaving bugs as two similar implementations differ in subtle ways).

      Tuning

      This issue has a mass of 33.

      We set useful threshold defaults for the languages we support but you may want to adjust these settings based on your project guidelines.

      The threshold configuration represents the minimum mass a code block must have to be analyzed for duplication. The lower the threshold, the more fine-grained the comparison.

      If the engine is too easily reporting duplication, try raising the threshold. If you suspect that the engine isn't catching enough duplication, try lowering the threshold. The best setting tends to differ from language to language.

      See codeclimate-duplication's documentation for more information about tuning the mass threshold in your .codeclimate.yml.

      Refactorings

      Further Reading

      Similar blocks of code found in 20 locations. Consider refactoring.
      Open

          def test_i_3_2_consumed(self, i_3, i_4):
              assert i_3[2].consuming_instructions == [i_4[3]]
      Severity: Major
      Found in knittingpattern/convert/test/test_layout.py and 19 other locations - About 35 mins to fix
      knittingpattern/convert/test/test_layout.py on lines 168..169
      knittingpattern/convert/test/test_layout.py on lines 171..172
      knittingpattern/convert/test/test_layout.py on lines 174..175
      knittingpattern/convert/test/test_layout.py on lines 177..178
      knittingpattern/convert/test/test_layout.py on lines 182..183
      knittingpattern/convert/test/test_layout.py on lines 185..186
      knittingpattern/convert/test/test_layout.py on lines 188..189
      knittingpattern/convert/test/test_layout.py on lines 191..192
      knittingpattern/convert/test/test_layout.py on lines 199..200
      knittingpattern/convert/test/test_layout.py on lines 202..203
      knittingpattern/convert/test/test_layout.py on lines 205..206
      knittingpattern/convert/test/test_layout.py on lines 216..217
      knittingpattern/convert/test/test_layout.py on lines 219..220
      knittingpattern/convert/test/test_layout.py on lines 222..223
      knittingpattern/convert/test/test_layout.py on lines 227..228
      knittingpattern/convert/test/test_layout.py on lines 230..231
      knittingpattern/convert/test/test_layout.py on lines 241..242
      knittingpattern/convert/test/test_layout.py on lines 244..245
      knittingpattern/convert/test/test_layout.py on lines 247..248

      Duplicated Code

      Duplicated code can lead to software that is hard to understand and difficult to change. The Don't Repeat Yourself (DRY) principle states:

      Every piece of knowledge must have a single, unambiguous, authoritative representation within a system.

      When you violate DRY, bugs and maintenance problems are sure to follow. Duplicated code has a tendency to both continue to replicate and also to diverge (leaving bugs as two similar implementations differ in subtle ways).

      Tuning

      This issue has a mass of 33.

      We set useful threshold defaults for the languages we support but you may want to adjust these settings based on your project guidelines.

      The threshold configuration represents the minimum mass a code block must have to be analyzed for duplication. The lower the threshold, the more fine-grained the comparison.

      If the engine is too easily reporting duplication, try raising the threshold. If you suspect that the engine isn't catching enough duplication, try lowering the threshold. The best setting tends to differ from language to language.

      See codeclimate-duplication's documentation for more information about tuning the mass threshold in your .codeclimate.yml.

      Refactorings

      Further Reading

      Similar blocks of code found in 20 locations. Consider refactoring.
      Open

          def test_i_4_2_produced(self, i_3, i_4):
              assert i_4[2].producing_instructions == [i_3[1]]
      Severity: Major
      Found in knittingpattern/convert/test/test_layout.py and 19 other locations - About 35 mins to fix
      knittingpattern/convert/test/test_layout.py on lines 168..169
      knittingpattern/convert/test/test_layout.py on lines 171..172
      knittingpattern/convert/test/test_layout.py on lines 174..175
      knittingpattern/convert/test/test_layout.py on lines 177..178
      knittingpattern/convert/test/test_layout.py on lines 182..183
      knittingpattern/convert/test/test_layout.py on lines 185..186
      knittingpattern/convert/test/test_layout.py on lines 188..189
      knittingpattern/convert/test/test_layout.py on lines 191..192
      knittingpattern/convert/test/test_layout.py on lines 199..200
      knittingpattern/convert/test/test_layout.py on lines 202..203
      knittingpattern/convert/test/test_layout.py on lines 205..206
      knittingpattern/convert/test/test_layout.py on lines 216..217
      knittingpattern/convert/test/test_layout.py on lines 219..220
      knittingpattern/convert/test/test_layout.py on lines 222..223
      knittingpattern/convert/test/test_layout.py on lines 227..228
      knittingpattern/convert/test/test_layout.py on lines 230..231
      knittingpattern/convert/test/test_layout.py on lines 233..234
      knittingpattern/convert/test/test_layout.py on lines 241..242
      knittingpattern/convert/test/test_layout.py on lines 247..248

      Duplicated Code

      Duplicated code can lead to software that is hard to understand and difficult to change. The Don't Repeat Yourself (DRY) principle states:

      Every piece of knowledge must have a single, unambiguous, authoritative representation within a system.

      When you violate DRY, bugs and maintenance problems are sure to follow. Duplicated code has a tendency to both continue to replicate and also to diverge (leaving bugs as two similar implementations differ in subtle ways).

      Tuning

      This issue has a mass of 33.

      We set useful threshold defaults for the languages we support but you may want to adjust these settings based on your project guidelines.

      The threshold configuration represents the minimum mass a code block must have to be analyzed for duplication. The lower the threshold, the more fine-grained the comparison.

      If the engine is too easily reporting duplication, try raising the threshold. If you suspect that the engine isn't catching enough duplication, try lowering the threshold. The best setting tends to differ from language to language.

      See codeclimate-duplication's documentation for more information about tuning the mass threshold in your .codeclimate.yml.

      Refactorings

      Further Reading

      Similar blocks of code found in 20 locations. Consider refactoring.
      Open

          def test_i_2_2_produced(self, i_1, i_2):
              assert i_2[2].producing_instructions == [i_1[2]]
      Severity: Major
      Found in knittingpattern/convert/test/test_layout.py and 19 other locations - About 35 mins to fix
      knittingpattern/convert/test/test_layout.py on lines 168..169
      knittingpattern/convert/test/test_layout.py on lines 171..172
      knittingpattern/convert/test/test_layout.py on lines 174..175
      knittingpattern/convert/test/test_layout.py on lines 177..178
      knittingpattern/convert/test/test_layout.py on lines 182..183
      knittingpattern/convert/test/test_layout.py on lines 185..186
      knittingpattern/convert/test/test_layout.py on lines 191..192
      knittingpattern/convert/test/test_layout.py on lines 199..200
      knittingpattern/convert/test/test_layout.py on lines 202..203
      knittingpattern/convert/test/test_layout.py on lines 205..206
      knittingpattern/convert/test/test_layout.py on lines 216..217
      knittingpattern/convert/test/test_layout.py on lines 219..220
      knittingpattern/convert/test/test_layout.py on lines 222..223
      knittingpattern/convert/test/test_layout.py on lines 227..228
      knittingpattern/convert/test/test_layout.py on lines 230..231
      knittingpattern/convert/test/test_layout.py on lines 233..234
      knittingpattern/convert/test/test_layout.py on lines 241..242
      knittingpattern/convert/test/test_layout.py on lines 244..245
      knittingpattern/convert/test/test_layout.py on lines 247..248

      Duplicated Code

      Duplicated code can lead to software that is hard to understand and difficult to change. The Don't Repeat Yourself (DRY) principle states:

      Every piece of knowledge must have a single, unambiguous, authoritative representation within a system.

      When you violate DRY, bugs and maintenance problems are sure to follow. Duplicated code has a tendency to both continue to replicate and also to diverge (leaving bugs as two similar implementations differ in subtle ways).

      Tuning

      This issue has a mass of 33.

      We set useful threshold defaults for the languages we support but you may want to adjust these settings based on your project guidelines.

      The threshold configuration represents the minimum mass a code block must have to be analyzed for duplication. The lower the threshold, the more fine-grained the comparison.

      If the engine is too easily reporting duplication, try raising the threshold. If you suspect that the engine isn't catching enough duplication, try lowering the threshold. The best setting tends to differ from language to language.

      See codeclimate-duplication's documentation for more information about tuning the mass threshold in your .codeclimate.yml.

      Refactorings

      Further Reading

      Similar blocks of code found in 20 locations. Consider refactoring.
      Open

          def test_i_2_3_produced(self, i_1, i_2):
              assert i_2[3].producing_instructions == [i_1[3]]
      Severity: Major
      Found in knittingpattern/convert/test/test_layout.py and 19 other locations - About 35 mins to fix
      knittingpattern/convert/test/test_layout.py on lines 168..169
      knittingpattern/convert/test/test_layout.py on lines 171..172
      knittingpattern/convert/test/test_layout.py on lines 174..175
      knittingpattern/convert/test/test_layout.py on lines 177..178
      knittingpattern/convert/test/test_layout.py on lines 182..183
      knittingpattern/convert/test/test_layout.py on lines 185..186
      knittingpattern/convert/test/test_layout.py on lines 188..189
      knittingpattern/convert/test/test_layout.py on lines 199..200
      knittingpattern/convert/test/test_layout.py on lines 202..203
      knittingpattern/convert/test/test_layout.py on lines 205..206
      knittingpattern/convert/test/test_layout.py on lines 216..217
      knittingpattern/convert/test/test_layout.py on lines 219..220
      knittingpattern/convert/test/test_layout.py on lines 222..223
      knittingpattern/convert/test/test_layout.py on lines 227..228
      knittingpattern/convert/test/test_layout.py on lines 230..231
      knittingpattern/convert/test/test_layout.py on lines 233..234
      knittingpattern/convert/test/test_layout.py on lines 241..242
      knittingpattern/convert/test/test_layout.py on lines 244..245
      knittingpattern/convert/test/test_layout.py on lines 247..248

      Duplicated Code

      Duplicated code can lead to software that is hard to understand and difficult to change. The Don't Repeat Yourself (DRY) principle states:

      Every piece of knowledge must have a single, unambiguous, authoritative representation within a system.

      When you violate DRY, bugs and maintenance problems are sure to follow. Duplicated code has a tendency to both continue to replicate and also to diverge (leaving bugs as two similar implementations differ in subtle ways).

      Tuning

      This issue has a mass of 33.

      We set useful threshold defaults for the languages we support but you may want to adjust these settings based on your project guidelines.

      The threshold configuration represents the minimum mass a code block must have to be analyzed for duplication. The lower the threshold, the more fine-grained the comparison.

      If the engine is too easily reporting duplication, try raising the threshold. If you suspect that the engine isn't catching enough duplication, try lowering the threshold. The best setting tends to differ from language to language.

      See codeclimate-duplication's documentation for more information about tuning the mass threshold in your .codeclimate.yml.

      Refactorings

      Further Reading

      Similar blocks of code found in 20 locations. Consider refactoring.
      Open

          def test_i_3_0_consumed(self, i_3, i_4):
              assert i_3[0].consuming_instructions == [i_4[1]]
      Severity: Major
      Found in knittingpattern/convert/test/test_layout.py and 19 other locations - About 35 mins to fix
      knittingpattern/convert/test/test_layout.py on lines 168..169
      knittingpattern/convert/test/test_layout.py on lines 171..172
      knittingpattern/convert/test/test_layout.py on lines 174..175
      knittingpattern/convert/test/test_layout.py on lines 177..178
      knittingpattern/convert/test/test_layout.py on lines 182..183
      knittingpattern/convert/test/test_layout.py on lines 185..186
      knittingpattern/convert/test/test_layout.py on lines 188..189
      knittingpattern/convert/test/test_layout.py on lines 191..192
      knittingpattern/convert/test/test_layout.py on lines 199..200
      knittingpattern/convert/test/test_layout.py on lines 202..203
      knittingpattern/convert/test/test_layout.py on lines 205..206
      knittingpattern/convert/test/test_layout.py on lines 216..217
      knittingpattern/convert/test/test_layout.py on lines 219..220
      knittingpattern/convert/test/test_layout.py on lines 222..223
      knittingpattern/convert/test/test_layout.py on lines 230..231
      knittingpattern/convert/test/test_layout.py on lines 233..234
      knittingpattern/convert/test/test_layout.py on lines 241..242
      knittingpattern/convert/test/test_layout.py on lines 244..245
      knittingpattern/convert/test/test_layout.py on lines 247..248

      Duplicated Code

      Duplicated code can lead to software that is hard to understand and difficult to change. The Don't Repeat Yourself (DRY) principle states:

      Every piece of knowledge must have a single, unambiguous, authoritative representation within a system.

      When you violate DRY, bugs and maintenance problems are sure to follow. Duplicated code has a tendency to both continue to replicate and also to diverge (leaving bugs as two similar implementations differ in subtle ways).

      Tuning

      This issue has a mass of 33.

      We set useful threshold defaults for the languages we support but you may want to adjust these settings based on your project guidelines.

      The threshold configuration represents the minimum mass a code block must have to be analyzed for duplication. The lower the threshold, the more fine-grained the comparison.

      If the engine is too easily reporting duplication, try raising the threshold. If you suspect that the engine isn't catching enough duplication, try lowering the threshold. The best setting tends to differ from language to language.

      See codeclimate-duplication's documentation for more information about tuning the mass threshold in your .codeclimate.yml.

      Refactorings

      Further Reading

      Similar blocks of code found in 20 locations. Consider refactoring.
      Open

          def test_i_2_0_consumed(self, i_2, i_3):
              assert i_2[0].consuming_instructions == [i_3[0]]
      Severity: Major
      Found in knittingpattern/convert/test/test_layout.py and 19 other locations - About 35 mins to fix
      knittingpattern/convert/test/test_layout.py on lines 168..169
      knittingpattern/convert/test/test_layout.py on lines 171..172
      knittingpattern/convert/test/test_layout.py on lines 174..175
      knittingpattern/convert/test/test_layout.py on lines 177..178
      knittingpattern/convert/test/test_layout.py on lines 182..183
      knittingpattern/convert/test/test_layout.py on lines 185..186
      knittingpattern/convert/test/test_layout.py on lines 188..189
      knittingpattern/convert/test/test_layout.py on lines 191..192
      knittingpattern/convert/test/test_layout.py on lines 202..203
      knittingpattern/convert/test/test_layout.py on lines 205..206
      knittingpattern/convert/test/test_layout.py on lines 216..217
      knittingpattern/convert/test/test_layout.py on lines 219..220
      knittingpattern/convert/test/test_layout.py on lines 222..223
      knittingpattern/convert/test/test_layout.py on lines 227..228
      knittingpattern/convert/test/test_layout.py on lines 230..231
      knittingpattern/convert/test/test_layout.py on lines 233..234
      knittingpattern/convert/test/test_layout.py on lines 241..242
      knittingpattern/convert/test/test_layout.py on lines 244..245
      knittingpattern/convert/test/test_layout.py on lines 247..248

      Duplicated Code

      Duplicated code can lead to software that is hard to understand and difficult to change. The Don't Repeat Yourself (DRY) principle states:

      Every piece of knowledge must have a single, unambiguous, authoritative representation within a system.

      When you violate DRY, bugs and maintenance problems are sure to follow. Duplicated code has a tendency to both continue to replicate and also to diverge (leaving bugs as two similar implementations differ in subtle ways).

      Tuning

      This issue has a mass of 33.

      We set useful threshold defaults for the languages we support but you may want to adjust these settings based on your project guidelines.

      The threshold configuration represents the minimum mass a code block must have to be analyzed for duplication. The lower the threshold, the more fine-grained the comparison.

      If the engine is too easily reporting duplication, try raising the threshold. If you suspect that the engine isn't catching enough duplication, try lowering the threshold. The best setting tends to differ from language to language.

      See codeclimate-duplication's documentation for more information about tuning the mass threshold in your .codeclimate.yml.

      Refactorings

      Further Reading

      Similar blocks of code found in 20 locations. Consider refactoring.
      Open

          def test_i_3_0_produced(self, i_2, i_3):
              assert i_3[0].producing_instructions == [i_2[0]]
      Severity: Major
      Found in knittingpattern/convert/test/test_layout.py and 19 other locations - About 35 mins to fix
      knittingpattern/convert/test/test_layout.py on lines 168..169
      knittingpattern/convert/test/test_layout.py on lines 171..172
      knittingpattern/convert/test/test_layout.py on lines 174..175
      knittingpattern/convert/test/test_layout.py on lines 177..178
      knittingpattern/convert/test/test_layout.py on lines 182..183
      knittingpattern/convert/test/test_layout.py on lines 185..186
      knittingpattern/convert/test/test_layout.py on lines 188..189
      knittingpattern/convert/test/test_layout.py on lines 191..192
      knittingpattern/convert/test/test_layout.py on lines 199..200
      knittingpattern/convert/test/test_layout.py on lines 202..203
      knittingpattern/convert/test/test_layout.py on lines 205..206
      knittingpattern/convert/test/test_layout.py on lines 219..220
      knittingpattern/convert/test/test_layout.py on lines 222..223
      knittingpattern/convert/test/test_layout.py on lines 227..228
      knittingpattern/convert/test/test_layout.py on lines 230..231
      knittingpattern/convert/test/test_layout.py on lines 233..234
      knittingpattern/convert/test/test_layout.py on lines 241..242
      knittingpattern/convert/test/test_layout.py on lines 244..245
      knittingpattern/convert/test/test_layout.py on lines 247..248

      Duplicated Code

      Duplicated code can lead to software that is hard to understand and difficult to change. The Don't Repeat Yourself (DRY) principle states:

      Every piece of knowledge must have a single, unambiguous, authoritative representation within a system.

      When you violate DRY, bugs and maintenance problems are sure to follow. Duplicated code has a tendency to both continue to replicate and also to diverge (leaving bugs as two similar implementations differ in subtle ways).

      Tuning

      This issue has a mass of 33.

      We set useful threshold defaults for the languages we support but you may want to adjust these settings based on your project guidelines.

      The threshold configuration represents the minimum mass a code block must have to be analyzed for duplication. The lower the threshold, the more fine-grained the comparison.

      If the engine is too easily reporting duplication, try raising the threshold. If you suspect that the engine isn't catching enough duplication, try lowering the threshold. The best setting tends to differ from language to language.

      See codeclimate-duplication's documentation for more information about tuning the mass threshold in your .codeclimate.yml.

      Refactorings

      Further Reading

      Similar blocks of code found in 20 locations. Consider refactoring.
      Open

          def test_i_1_1_consumed(self, i_1, i_2):
              assert i_1[1].consuming_instructions == [i_2[1]]
      Severity: Major
      Found in knittingpattern/convert/test/test_layout.py and 19 other locations - About 35 mins to fix
      knittingpattern/convert/test/test_layout.py on lines 168..169
      knittingpattern/convert/test/test_layout.py on lines 174..175
      knittingpattern/convert/test/test_layout.py on lines 177..178
      knittingpattern/convert/test/test_layout.py on lines 182..183
      knittingpattern/convert/test/test_layout.py on lines 185..186
      knittingpattern/convert/test/test_layout.py on lines 188..189
      knittingpattern/convert/test/test_layout.py on lines 191..192
      knittingpattern/convert/test/test_layout.py on lines 199..200
      knittingpattern/convert/test/test_layout.py on lines 202..203
      knittingpattern/convert/test/test_layout.py on lines 205..206
      knittingpattern/convert/test/test_layout.py on lines 216..217
      knittingpattern/convert/test/test_layout.py on lines 219..220
      knittingpattern/convert/test/test_layout.py on lines 222..223
      knittingpattern/convert/test/test_layout.py on lines 227..228
      knittingpattern/convert/test/test_layout.py on lines 230..231
      knittingpattern/convert/test/test_layout.py on lines 233..234
      knittingpattern/convert/test/test_layout.py on lines 241..242
      knittingpattern/convert/test/test_layout.py on lines 244..245
      knittingpattern/convert/test/test_layout.py on lines 247..248

      Duplicated Code

      Duplicated code can lead to software that is hard to understand and difficult to change. The Don't Repeat Yourself (DRY) principle states:

      Every piece of knowledge must have a single, unambiguous, authoritative representation within a system.

      When you violate DRY, bugs and maintenance problems are sure to follow. Duplicated code has a tendency to both continue to replicate and also to diverge (leaving bugs as two similar implementations differ in subtle ways).

      Tuning

      This issue has a mass of 33.

      We set useful threshold defaults for the languages we support but you may want to adjust these settings based on your project guidelines.

      The threshold configuration represents the minimum mass a code block must have to be analyzed for duplication. The lower the threshold, the more fine-grained the comparison.

      If the engine is too easily reporting duplication, try raising the threshold. If you suspect that the engine isn't catching enough duplication, try lowering the threshold. The best setting tends to differ from language to language.

      See codeclimate-duplication's documentation for more information about tuning the mass threshold in your .codeclimate.yml.

      Refactorings

      Further Reading

      Similar blocks of code found in 20 locations. Consider refactoring.
      Open

          def test_i_1_3_consumed(self, i_1, i_2):
              assert i_1[3].consuming_instructions == [i_2[3]]
      Severity: Major
      Found in knittingpattern/convert/test/test_layout.py and 19 other locations - About 35 mins to fix
      knittingpattern/convert/test/test_layout.py on lines 168..169
      knittingpattern/convert/test/test_layout.py on lines 171..172
      knittingpattern/convert/test/test_layout.py on lines 174..175
      knittingpattern/convert/test/test_layout.py on lines 182..183
      knittingpattern/convert/test/test_layout.py on lines 185..186
      knittingpattern/convert/test/test_layout.py on lines 188..189
      knittingpattern/convert/test/test_layout.py on lines 191..192
      knittingpattern/convert/test/test_layout.py on lines 199..200
      knittingpattern/convert/test/test_layout.py on lines 202..203
      knittingpattern/convert/test/test_layout.py on lines 205..206
      knittingpattern/convert/test/test_layout.py on lines 216..217
      knittingpattern/convert/test/test_layout.py on lines 219..220
      knittingpattern/convert/test/test_layout.py on lines 222..223
      knittingpattern/convert/test/test_layout.py on lines 227..228
      knittingpattern/convert/test/test_layout.py on lines 230..231
      knittingpattern/convert/test/test_layout.py on lines 233..234
      knittingpattern/convert/test/test_layout.py on lines 241..242
      knittingpattern/convert/test/test_layout.py on lines 244..245
      knittingpattern/convert/test/test_layout.py on lines 247..248

      Duplicated Code

      Duplicated code can lead to software that is hard to understand and difficult to change. The Don't Repeat Yourself (DRY) principle states:

      Every piece of knowledge must have a single, unambiguous, authoritative representation within a system.

      When you violate DRY, bugs and maintenance problems are sure to follow. Duplicated code has a tendency to both continue to replicate and also to diverge (leaving bugs as two similar implementations differ in subtle ways).

      Tuning

      This issue has a mass of 33.

      We set useful threshold defaults for the languages we support but you may want to adjust these settings based on your project guidelines.

      The threshold configuration represents the minimum mass a code block must have to be analyzed for duplication. The lower the threshold, the more fine-grained the comparison.

      If the engine is too easily reporting duplication, try raising the threshold. If you suspect that the engine isn't catching enough duplication, try lowering the threshold. The best setting tends to differ from language to language.

      See codeclimate-duplication's documentation for more information about tuning the mass threshold in your .codeclimate.yml.

      Refactorings

      Further Reading

      Similar blocks of code found in 20 locations. Consider refactoring.
      Open

          def test_i_1_2_consumed(self, i_1, i_2):
              assert i_1[2].consuming_instructions == [i_2[2]]
      Severity: Major
      Found in knittingpattern/convert/test/test_layout.py and 19 other locations - About 35 mins to fix
      knittingpattern/convert/test/test_layout.py on lines 168..169
      knittingpattern/convert/test/test_layout.py on lines 171..172
      knittingpattern/convert/test/test_layout.py on lines 177..178
      knittingpattern/convert/test/test_layout.py on lines 182..183
      knittingpattern/convert/test/test_layout.py on lines 185..186
      knittingpattern/convert/test/test_layout.py on lines 188..189
      knittingpattern/convert/test/test_layout.py on lines 191..192
      knittingpattern/convert/test/test_layout.py on lines 199..200
      knittingpattern/convert/test/test_layout.py on lines 202..203
      knittingpattern/convert/test/test_layout.py on lines 205..206
      knittingpattern/convert/test/test_layout.py on lines 216..217
      knittingpattern/convert/test/test_layout.py on lines 219..220
      knittingpattern/convert/test/test_layout.py on lines 222..223
      knittingpattern/convert/test/test_layout.py on lines 227..228
      knittingpattern/convert/test/test_layout.py on lines 230..231
      knittingpattern/convert/test/test_layout.py on lines 233..234
      knittingpattern/convert/test/test_layout.py on lines 241..242
      knittingpattern/convert/test/test_layout.py on lines 244..245
      knittingpattern/convert/test/test_layout.py on lines 247..248

      Duplicated Code

      Duplicated code can lead to software that is hard to understand and difficult to change. The Don't Repeat Yourself (DRY) principle states:

      Every piece of knowledge must have a single, unambiguous, authoritative representation within a system.

      When you violate DRY, bugs and maintenance problems are sure to follow. Duplicated code has a tendency to both continue to replicate and also to diverge (leaving bugs as two similar implementations differ in subtle ways).

      Tuning

      This issue has a mass of 33.

      We set useful threshold defaults for the languages we support but you may want to adjust these settings based on your project guidelines.

      The threshold configuration represents the minimum mass a code block must have to be analyzed for duplication. The lower the threshold, the more fine-grained the comparison.

      If the engine is too easily reporting duplication, try raising the threshold. If you suspect that the engine isn't catching enough duplication, try lowering the threshold. The best setting tends to differ from language to language.

      See codeclimate-duplication's documentation for more information about tuning the mass threshold in your .codeclimate.yml.

      Refactorings

      Further Reading

      Similar blocks of code found in 20 locations. Consider refactoring.
      Open

          def test_i_3_1_produced(self, i_2, i_3):
              assert i_3[1].producing_instructions == [i_2[1]]
      Severity: Major
      Found in knittingpattern/convert/test/test_layout.py and 19 other locations - About 35 mins to fix
      knittingpattern/convert/test/test_layout.py on lines 168..169
      knittingpattern/convert/test/test_layout.py on lines 171..172
      knittingpattern/convert/test/test_layout.py on lines 174..175
      knittingpattern/convert/test/test_layout.py on lines 177..178
      knittingpattern/convert/test/test_layout.py on lines 182..183
      knittingpattern/convert/test/test_layout.py on lines 185..186
      knittingpattern/convert/test/test_layout.py on lines 188..189
      knittingpattern/convert/test/test_layout.py on lines 191..192
      knittingpattern/convert/test/test_layout.py on lines 199..200
      knittingpattern/convert/test/test_layout.py on lines 202..203
      knittingpattern/convert/test/test_layout.py on lines 205..206
      knittingpattern/convert/test/test_layout.py on lines 216..217
      knittingpattern/convert/test/test_layout.py on lines 222..223
      knittingpattern/convert/test/test_layout.py on lines 227..228
      knittingpattern/convert/test/test_layout.py on lines 230..231
      knittingpattern/convert/test/test_layout.py on lines 233..234
      knittingpattern/convert/test/test_layout.py on lines 241..242
      knittingpattern/convert/test/test_layout.py on lines 244..245
      knittingpattern/convert/test/test_layout.py on lines 247..248

      Duplicated Code

      Duplicated code can lead to software that is hard to understand and difficult to change. The Don't Repeat Yourself (DRY) principle states:

      Every piece of knowledge must have a single, unambiguous, authoritative representation within a system.

      When you violate DRY, bugs and maintenance problems are sure to follow. Duplicated code has a tendency to both continue to replicate and also to diverge (leaving bugs as two similar implementations differ in subtle ways).

      Tuning

      This issue has a mass of 33.

      We set useful threshold defaults for the languages we support but you may want to adjust these settings based on your project guidelines.

      The threshold configuration represents the minimum mass a code block must have to be analyzed for duplication. The lower the threshold, the more fine-grained the comparison.

      If the engine is too easily reporting duplication, try raising the threshold. If you suspect that the engine isn't catching enough duplication, try lowering the threshold. The best setting tends to differ from language to language.

      See codeclimate-duplication's documentation for more information about tuning the mass threshold in your .codeclimate.yml.

      Refactorings

      Further Reading

      Similar blocks of code found in 20 locations. Consider refactoring.
      Open

          def test_i_1_0_consumed(self, i_1, i_2):
              assert i_1[0].consuming_instructions == [i_2[0]]
      Severity: Major
      Found in knittingpattern/convert/test/test_layout.py and 19 other locations - About 35 mins to fix
      knittingpattern/convert/test/test_layout.py on lines 171..172
      knittingpattern/convert/test/test_layout.py on lines 174..175
      knittingpattern/convert/test/test_layout.py on lines 177..178
      knittingpattern/convert/test/test_layout.py on lines 182..183
      knittingpattern/convert/test/test_layout.py on lines 185..186
      knittingpattern/convert/test/test_layout.py on lines 188..189
      knittingpattern/convert/test/test_layout.py on lines 191..192
      knittingpattern/convert/test/test_layout.py on lines 199..200
      knittingpattern/convert/test/test_layout.py on lines 202..203
      knittingpattern/convert/test/test_layout.py on lines 205..206
      knittingpattern/convert/test/test_layout.py on lines 216..217
      knittingpattern/convert/test/test_layout.py on lines 219..220
      knittingpattern/convert/test/test_layout.py on lines 222..223
      knittingpattern/convert/test/test_layout.py on lines 227..228
      knittingpattern/convert/test/test_layout.py on lines 230..231
      knittingpattern/convert/test/test_layout.py on lines 233..234
      knittingpattern/convert/test/test_layout.py on lines 241..242
      knittingpattern/convert/test/test_layout.py on lines 244..245
      knittingpattern/convert/test/test_layout.py on lines 247..248

      Duplicated Code

      Duplicated code can lead to software that is hard to understand and difficult to change. The Don't Repeat Yourself (DRY) principle states:

      Every piece of knowledge must have a single, unambiguous, authoritative representation within a system.

      When you violate DRY, bugs and maintenance problems are sure to follow. Duplicated code has a tendency to both continue to replicate and also to diverge (leaving bugs as two similar implementations differ in subtle ways).

      Tuning

      This issue has a mass of 33.

      We set useful threshold defaults for the languages we support but you may want to adjust these settings based on your project guidelines.

      The threshold configuration represents the minimum mass a code block must have to be analyzed for duplication. The lower the threshold, the more fine-grained the comparison.

      If the engine is too easily reporting duplication, try raising the threshold. If you suspect that the engine isn't catching enough duplication, try lowering the threshold. The best setting tends to differ from language to language.

      See codeclimate-duplication's documentation for more information about tuning the mass threshold in your .codeclimate.yml.

      Refactorings

      Further Reading

      Similar blocks of code found in 20 locations. Consider refactoring.
      Open

          def test_i_2_2_consumed(self, i_2, i_3):
              assert i_2[2].consuming_instructions == [i_3[2]]
      Severity: Major
      Found in knittingpattern/convert/test/test_layout.py and 19 other locations - About 35 mins to fix
      knittingpattern/convert/test/test_layout.py on lines 168..169
      knittingpattern/convert/test/test_layout.py on lines 171..172
      knittingpattern/convert/test/test_layout.py on lines 174..175
      knittingpattern/convert/test/test_layout.py on lines 177..178
      knittingpattern/convert/test/test_layout.py on lines 182..183
      knittingpattern/convert/test/test_layout.py on lines 185..186
      knittingpattern/convert/test/test_layout.py on lines 188..189
      knittingpattern/convert/test/test_layout.py on lines 191..192
      knittingpattern/convert/test/test_layout.py on lines 199..200
      knittingpattern/convert/test/test_layout.py on lines 202..203
      knittingpattern/convert/test/test_layout.py on lines 216..217
      knittingpattern/convert/test/test_layout.py on lines 219..220
      knittingpattern/convert/test/test_layout.py on lines 222..223
      knittingpattern/convert/test/test_layout.py on lines 227..228
      knittingpattern/convert/test/test_layout.py on lines 230..231
      knittingpattern/convert/test/test_layout.py on lines 233..234
      knittingpattern/convert/test/test_layout.py on lines 241..242
      knittingpattern/convert/test/test_layout.py on lines 244..245
      knittingpattern/convert/test/test_layout.py on lines 247..248

      Duplicated Code

      Duplicated code can lead to software that is hard to understand and difficult to change. The Don't Repeat Yourself (DRY) principle states:

      Every piece of knowledge must have a single, unambiguous, authoritative representation within a system.

      When you violate DRY, bugs and maintenance problems are sure to follow. Duplicated code has a tendency to both continue to replicate and also to diverge (leaving bugs as two similar implementations differ in subtle ways).

      Tuning

      This issue has a mass of 33.

      We set useful threshold defaults for the languages we support but you may want to adjust these settings based on your project guidelines.

      The threshold configuration represents the minimum mass a code block must have to be analyzed for duplication. The lower the threshold, the more fine-grained the comparison.

      If the engine is too easily reporting duplication, try raising the threshold. If you suspect that the engine isn't catching enough duplication, try lowering the threshold. The best setting tends to differ from language to language.

      See codeclimate-duplication's documentation for more information about tuning the mass threshold in your .codeclimate.yml.

      Refactorings

      Further Reading

      Similar blocks of code found in 20 locations. Consider refactoring.
      Open

          def test_i_4_1_produced(self, i_3, i_4):
              assert i_4[1].producing_instructions == [i_3[0]]
      Severity: Major
      Found in knittingpattern/convert/test/test_layout.py and 19 other locations - About 35 mins to fix
      knittingpattern/convert/test/test_layout.py on lines 168..169
      knittingpattern/convert/test/test_layout.py on lines 171..172
      knittingpattern/convert/test/test_layout.py on lines 174..175
      knittingpattern/convert/test/test_layout.py on lines 177..178
      knittingpattern/convert/test/test_layout.py on lines 182..183
      knittingpattern/convert/test/test_layout.py on lines 185..186
      knittingpattern/convert/test/test_layout.py on lines 188..189
      knittingpattern/convert/test/test_layout.py on lines 191..192
      knittingpattern/convert/test/test_layout.py on lines 199..200
      knittingpattern/convert/test/test_layout.py on lines 202..203
      knittingpattern/convert/test/test_layout.py on lines 205..206
      knittingpattern/convert/test/test_layout.py on lines 216..217
      knittingpattern/convert/test/test_layout.py on lines 219..220
      knittingpattern/convert/test/test_layout.py on lines 222..223
      knittingpattern/convert/test/test_layout.py on lines 227..228
      knittingpattern/convert/test/test_layout.py on lines 230..231
      knittingpattern/convert/test/test_layout.py on lines 233..234
      knittingpattern/convert/test/test_layout.py on lines 244..245
      knittingpattern/convert/test/test_layout.py on lines 247..248

      Duplicated Code

      Duplicated code can lead to software that is hard to understand and difficult to change. The Don't Repeat Yourself (DRY) principle states:

      Every piece of knowledge must have a single, unambiguous, authoritative representation within a system.

      When you violate DRY, bugs and maintenance problems are sure to follow. Duplicated code has a tendency to both continue to replicate and also to diverge (leaving bugs as two similar implementations differ in subtle ways).

      Tuning

      This issue has a mass of 33.

      We set useful threshold defaults for the languages we support but you may want to adjust these settings based on your project guidelines.

      The threshold configuration represents the minimum mass a code block must have to be analyzed for duplication. The lower the threshold, the more fine-grained the comparison.

      If the engine is too easily reporting duplication, try raising the threshold. If you suspect that the engine isn't catching enough duplication, try lowering the threshold. The best setting tends to differ from language to language.

      See codeclimate-duplication's documentation for more information about tuning the mass threshold in your .codeclimate.yml.

      Refactorings

      Further Reading

      Similar blocks of code found in 20 locations. Consider refactoring.
      Open

          def test_i_2_0_produced(self, i_1, i_2):
              assert i_2[0].producing_instructions == [i_1[0]]
      Severity: Major
      Found in knittingpattern/convert/test/test_layout.py and 19 other locations - About 35 mins to fix
      knittingpattern/convert/test/test_layout.py on lines 168..169
      knittingpattern/convert/test/test_layout.py on lines 171..172
      knittingpattern/convert/test/test_layout.py on lines 174..175
      knittingpattern/convert/test/test_layout.py on lines 177..178
      knittingpattern/convert/test/test_layout.py on lines 185..186
      knittingpattern/convert/test/test_layout.py on lines 188..189
      knittingpattern/convert/test/test_layout.py on lines 191..192
      knittingpattern/convert/test/test_layout.py on lines 199..200
      knittingpattern/convert/test/test_layout.py on lines 202..203
      knittingpattern/convert/test/test_layout.py on lines 205..206
      knittingpattern/convert/test/test_layout.py on lines 216..217
      knittingpattern/convert/test/test_layout.py on lines 219..220
      knittingpattern/convert/test/test_layout.py on lines 222..223
      knittingpattern/convert/test/test_layout.py on lines 227..228
      knittingpattern/convert/test/test_layout.py on lines 230..231
      knittingpattern/convert/test/test_layout.py on lines 233..234
      knittingpattern/convert/test/test_layout.py on lines 241..242
      knittingpattern/convert/test/test_layout.py on lines 244..245
      knittingpattern/convert/test/test_layout.py on lines 247..248

      Duplicated Code

      Duplicated code can lead to software that is hard to understand and difficult to change. The Don't Repeat Yourself (DRY) principle states:

      Every piece of knowledge must have a single, unambiguous, authoritative representation within a system.

      When you violate DRY, bugs and maintenance problems are sure to follow. Duplicated code has a tendency to both continue to replicate and also to diverge (leaving bugs as two similar implementations differ in subtle ways).

      Tuning

      This issue has a mass of 33.

      We set useful threshold defaults for the languages we support but you may want to adjust these settings based on your project guidelines.

      The threshold configuration represents the minimum mass a code block must have to be analyzed for duplication. The lower the threshold, the more fine-grained the comparison.

      If the engine is too easily reporting duplication, try raising the threshold. If you suspect that the engine isn't catching enough duplication, try lowering the threshold. The best setting tends to differ from language to language.

      See codeclimate-duplication's documentation for more information about tuning the mass threshold in your .codeclimate.yml.

      Refactorings

      Further Reading

      Similar blocks of code found in 20 locations. Consider refactoring.
      Open

          def test_i_3_2_produced(self, i_2, i_3):
              assert i_3[2].producing_instructions == [i_2[2]]
      Severity: Major
      Found in knittingpattern/convert/test/test_layout.py and 19 other locations - About 35 mins to fix
      knittingpattern/convert/test/test_layout.py on lines 168..169
      knittingpattern/convert/test/test_layout.py on lines 171..172
      knittingpattern/convert/test/test_layout.py on lines 174..175
      knittingpattern/convert/test/test_layout.py on lines 177..178
      knittingpattern/convert/test/test_layout.py on lines 182..183
      knittingpattern/convert/test/test_layout.py on lines 185..186
      knittingpattern/convert/test/test_layout.py on lines 188..189
      knittingpattern/convert/test/test_layout.py on lines 191..192
      knittingpattern/convert/test/test_layout.py on lines 199..200
      knittingpattern/convert/test/test_layout.py on lines 202..203
      knittingpattern/convert/test/test_layout.py on lines 205..206
      knittingpattern/convert/test/test_layout.py on lines 216..217
      knittingpattern/convert/test/test_layout.py on lines 219..220
      knittingpattern/convert/test/test_layout.py on lines 227..228
      knittingpattern/convert/test/test_layout.py on lines 230..231
      knittingpattern/convert/test/test_layout.py on lines 233..234
      knittingpattern/convert/test/test_layout.py on lines 241..242
      knittingpattern/convert/test/test_layout.py on lines 244..245
      knittingpattern/convert/test/test_layout.py on lines 247..248

      Duplicated Code

      Duplicated code can lead to software that is hard to understand and difficult to change. The Don't Repeat Yourself (DRY) principle states:

      Every piece of knowledge must have a single, unambiguous, authoritative representation within a system.

      When you violate DRY, bugs and maintenance problems are sure to follow. Duplicated code has a tendency to both continue to replicate and also to diverge (leaving bugs as two similar implementations differ in subtle ways).

      Tuning

      This issue has a mass of 33.

      We set useful threshold defaults for the languages we support but you may want to adjust these settings based on your project guidelines.

      The threshold configuration represents the minimum mass a code block must have to be analyzed for duplication. The lower the threshold, the more fine-grained the comparison.

      If the engine is too easily reporting duplication, try raising the threshold. If you suspect that the engine isn't catching enough duplication, try lowering the threshold. The best setting tends to differ from language to language.

      See codeclimate-duplication's documentation for more information about tuning the mass threshold in your .codeclimate.yml.

      Refactorings

      Further Reading

      Similar blocks of code found in 20 locations. Consider refactoring.
      Open

          def test_i_2_1_consumed(self, i_2, i_3):
              assert i_2[1].consuming_instructions == [i_3[1]]
      Severity: Major
      Found in knittingpattern/convert/test/test_layout.py and 19 other locations - About 35 mins to fix
      knittingpattern/convert/test/test_layout.py on lines 168..169
      knittingpattern/convert/test/test_layout.py on lines 171..172
      knittingpattern/convert/test/test_layout.py on lines 174..175
      knittingpattern/convert/test/test_layout.py on lines 177..178
      knittingpattern/convert/test/test_layout.py on lines 182..183
      knittingpattern/convert/test/test_layout.py on lines 185..186
      knittingpattern/convert/test/test_layout.py on lines 188..189
      knittingpattern/convert/test/test_layout.py on lines 191..192
      knittingpattern/convert/test/test_layout.py on lines 199..200
      knittingpattern/convert/test/test_layout.py on lines 205..206
      knittingpattern/convert/test/test_layout.py on lines 216..217
      knittingpattern/convert/test/test_layout.py on lines 219..220
      knittingpattern/convert/test/test_layout.py on lines 222..223
      knittingpattern/convert/test/test_layout.py on lines 227..228
      knittingpattern/convert/test/test_layout.py on lines 230..231
      knittingpattern/convert/test/test_layout.py on lines 233..234
      knittingpattern/convert/test/test_layout.py on lines 241..242
      knittingpattern/convert/test/test_layout.py on lines 244..245
      knittingpattern/convert/test/test_layout.py on lines 247..248

      Duplicated Code

      Duplicated code can lead to software that is hard to understand and difficult to change. The Don't Repeat Yourself (DRY) principle states:

      Every piece of knowledge must have a single, unambiguous, authoritative representation within a system.

      When you violate DRY, bugs and maintenance problems are sure to follow. Duplicated code has a tendency to both continue to replicate and also to diverge (leaving bugs as two similar implementations differ in subtle ways).

      Tuning

      This issue has a mass of 33.

      We set useful threshold defaults for the languages we support but you may want to adjust these settings based on your project guidelines.

      The threshold configuration represents the minimum mass a code block must have to be analyzed for duplication. The lower the threshold, the more fine-grained the comparison.

      If the engine is too easily reporting duplication, try raising the threshold. If you suspect that the engine isn't catching enough duplication, try lowering the threshold. The best setting tends to differ from language to language.

      See codeclimate-duplication's documentation for more information about tuning the mass threshold in your .codeclimate.yml.

      Refactorings

      Further Reading

      Expected 2 blank lines after class or function definition, found 1
      Open

      Instruction = namedtuple("Instruction", ["color", "number_of_consumed_meshes"])

      Separate top-level function and class definitions with two blank lines.

      Method definitions inside a class are separated by a single blank
      line.
      
      Extra blank lines may be used (sparingly) to separate groups of
      related functions.  Blank lines may be omitted between a bunch of
      related one-liners (e.g. a set of dummy implementations).
      
      Use blank lines in functions, sparingly, to indicate logical
      sections.
      
      Okay: def a():\n    pass\n\n\ndef b():\n    pass
      Okay: def a():\n    pass\n\n\nasync def b():\n    pass
      Okay: def a():\n    pass\n\n\n# Foo\n# Bar\n\ndef b():\n    pass
      Okay: default = 1\nfoo = 1
      Okay: classify = 1\nfoo = 1
      
      E301: class Foo:\n    b = 0\n    def bar():\n        pass
      E302: def a():\n    pass\n\ndef b(n):\n    pass
      E302: def a():\n    pass\n\nasync def b(n):\n    pass
      E303: def a():\n    pass\n\n\n\ndef b(n):\n    pass
      E303: def a():\n\n\n\n    pass
      E304: @decorator\n\ndef a():\n    pass
      E305: def a():\n    pass\na()
      E306: def a():\n    def b():\n        pass\n    def c():\n        pass

      There are no issues that match your filters.

      Category
      Status