pedromsantos/glenn

View on GitHub
src/__test__/Domain/Pitch.test.ts

Summary

Maintainability
A
0 mins
Test Coverage

File Pitch.test.ts has 445 lines of code (exceeds 250 allowed). Consider refactoring.
Wontfix

/* eslint-disable jest/no-conditional-expect */
/* eslint-disable sonarjs/cognitive-complexity */

import * as fc from 'fast-check';

Severity: Minor
Found in src/__test__/Domain/Pitch.test.ts - About 6 hrs to fix

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

      describe('flat should lower it by half a tone', () => {
        test('sharp C is B', () => {
          expect(Pitch.C.flat()).toBe(Pitch.B);
        });
    
    
    Severity: Major
    Found in src/__test__/Domain/Pitch.test.ts and 1 other location - About 4 days to fix
    src/__test__/Domain/Pitch.test.ts on lines 10..78

    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 744.

    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.
    Wontfix

      describe('sharp should raise it by half a tone', () => {
        test('sharp C is C#', () => {
          expect(Pitch.C.sharp()).toBe(Pitch.CSharp);
        });
    
    
    Severity: Major
    Found in src/__test__/Domain/Pitch.test.ts and 1 other location - About 4 days to fix
    src/__test__/Domain/Pitch.test.ts on lines 80..148

    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 744.

    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.
    Wontfix

        test('a flatted note has a lower pitch except C', () => {
          fc.assert(
            fc.property(fc.constantFrom(...Pitch.pitches), (pitch) => {
              if (pitch === Pitch.C) {
                expect(pitch.flat().NumericValue).toBeGreaterThan(pitch.NumericValue);
    Severity: Major
    Found in src/__test__/Domain/Pitch.test.ts and 1 other location - About 4 hrs to fix
    src/__test__/Domain/Pitch.test.ts on lines 400..410

    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 132.

    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.
    Wontfix

        test('a sharped note has a higher pitch except B', () => {
          fc.assert(
            fc.property(fc.constantFrom(...Pitch.pitches), (pitch) => {
              if (pitch === Pitch.B) {
                expect(pitch.sharp().NumericValue).toBeLessThan(pitch.NumericValue);
    Severity: Major
    Found in src/__test__/Domain/Pitch.test.ts and 1 other location - About 4 hrs to fix
    src/__test__/Domain/Pitch.test.ts on lines 412..422

    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 132.

    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.
    Wontfix

        test('sharping and flattening a pitch results in the original note pitch', () => {
          fc.assert(
            fc.property(fc.constantFrom(...Pitch.pitches), (pitch) => {
              const newPitch = pitch.sharp().flat();
    
    
    Severity: Major
    Found in src/__test__/Domain/Pitch.test.ts and 1 other location - About 3 hrs to fix
    src/__test__/Domain/Pitch.test.ts on lines 390..398

    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 97.

    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.
    Wontfix

        test('flattening and sharping a pitch results in the original note pitch', () => {
          fc.assert(
            fc.property(fc.constantFrom(...Pitch.pitches), (pitch) => {
              const newPitch = pitch.flat().sharp();
    
    
    Severity: Major
    Found in src/__test__/Domain/Pitch.test.ts and 1 other location - About 3 hrs to fix
    src/__test__/Domain/Pitch.test.ts on lines 370..378

    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 97.

    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.
    Wontfix

                  case Interval.AugmentedUnison:
                    if (
                      resultingInterval === Interval.MinorNinth ||
                      resultingInterval === Interval.MinorSecond ||
                      resultingInterval === Interval.AugmentedUnison
    Severity: Major
    Found in src/__test__/Domain/Pitch.test.ts and 1 other location - About 1 hr to fix
    src/__test__/Domain/Pitch.test.ts on lines 513..520

    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 60.

    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.
    Wontfix

                  case Interval.AugmentedFifth:
                    if (
                      resultingInterval === Interval.MinorThirteenth ||
                      resultingInterval === Interval.MinorSixth ||
                      resultingInterval === Interval.AugmentedFifth
    Severity: Major
    Found in src/__test__/Domain/Pitch.test.ts and 1 other location - About 1 hr to fix
    src/__test__/Domain/Pitch.test.ts on lines 532..539

    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 60.

    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 38 locations. Consider refactoring.
    Wontfix

        test('Unison from C# to C#', () => {
          expect(Pitch.CSharp.transpose(Interval.Unison)).toBe(Pitch.CSharp);
        });
    Severity: Major
    Found in src/__test__/Domain/Pitch.test.ts and 37 other locations - About 40 mins to fix
    src/__test__/Domain/Pitch.test.ts on lines 214..216
    src/__test__/Domain/Pitch.test.ts on lines 218..220
    src/__test__/Domain/Pitch.test.ts on lines 222..224
    src/__test__/Domain/Pitch.test.ts on lines 226..228
    src/__test__/Domain/Pitch.test.ts on lines 230..232
    src/__test__/Domain/Pitch.test.ts on lines 234..236
    src/__test__/Domain/Pitch.test.ts on lines 238..240
    src/__test__/Domain/Pitch.test.ts on lines 242..244
    src/__test__/Domain/Pitch.test.ts on lines 246..248
    src/__test__/Domain/Pitch.test.ts on lines 250..252
    src/__test__/Domain/Pitch.test.ts on lines 254..256
    src/__test__/Domain/Pitch.test.ts on lines 258..260
    src/__test__/Domain/Pitch.test.ts on lines 262..264
    src/__test__/Domain/Pitch.test.ts on lines 266..268
    src/__test__/Domain/Pitch.test.ts on lines 272..274
    src/__test__/Domain/Pitch.test.ts on lines 280..282
    src/__test__/Domain/Pitch.test.ts on lines 284..286
    src/__test__/Domain/Pitch.test.ts on lines 288..290
    src/__test__/Domain/Pitch.test.ts on lines 292..294
    src/__test__/Domain/Pitch.test.ts on lines 296..298
    src/__test__/Domain/Pitch.test.ts on lines 300..302
    src/__test__/Domain/Pitch.test.ts on lines 304..306
    src/__test__/Domain/Pitch.test.ts on lines 308..310
    src/__test__/Domain/Pitch.test.ts on lines 312..314
    src/__test__/Domain/Pitch.test.ts on lines 316..318
    src/__test__/Domain/Pitch.test.ts on lines 320..322
    src/__test__/Domain/Pitch.test.ts on lines 324..326
    src/__test__/Domain/Pitch.test.ts on lines 328..330
    src/__test__/Domain/Pitch.test.ts on lines 332..334
    src/__test__/Domain/Pitch.test.ts on lines 336..338
    src/__test__/Domain/Pitch.test.ts on lines 340..342
    src/__test__/Domain/Pitch.test.ts on lines 344..346
    src/__test__/Domain/Pitch.test.ts on lines 348..350
    src/__test__/Domain/Pitch.test.ts on lines 352..354
    src/__test__/Domain/Pitch.test.ts on lines 356..358
    src/__test__/Domain/Pitch.test.ts on lines 360..362
    src/__test__/Domain/Pitch.test.ts on lines 364..366

    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 48.

    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 38 locations. Consider refactoring.
    Wontfix

        test('MinorSecond from C to D flat', () => {
          expect(Pitch.C.transpose(Interval.MinorSecond)).toBe(Pitch.DFlat);
        });
    Severity: Major
    Found in src/__test__/Domain/Pitch.test.ts and 37 other locations - About 40 mins to fix
    src/__test__/Domain/Pitch.test.ts on lines 214..216
    src/__test__/Domain/Pitch.test.ts on lines 218..220
    src/__test__/Domain/Pitch.test.ts on lines 222..224
    src/__test__/Domain/Pitch.test.ts on lines 226..228
    src/__test__/Domain/Pitch.test.ts on lines 230..232
    src/__test__/Domain/Pitch.test.ts on lines 234..236
    src/__test__/Domain/Pitch.test.ts on lines 238..240
    src/__test__/Domain/Pitch.test.ts on lines 242..244
    src/__test__/Domain/Pitch.test.ts on lines 246..248
    src/__test__/Domain/Pitch.test.ts on lines 250..252
    src/__test__/Domain/Pitch.test.ts on lines 254..256
    src/__test__/Domain/Pitch.test.ts on lines 258..260
    src/__test__/Domain/Pitch.test.ts on lines 262..264
    src/__test__/Domain/Pitch.test.ts on lines 266..268
    src/__test__/Domain/Pitch.test.ts on lines 272..274
    src/__test__/Domain/Pitch.test.ts on lines 276..278
    src/__test__/Domain/Pitch.test.ts on lines 284..286
    src/__test__/Domain/Pitch.test.ts on lines 288..290
    src/__test__/Domain/Pitch.test.ts on lines 292..294
    src/__test__/Domain/Pitch.test.ts on lines 296..298
    src/__test__/Domain/Pitch.test.ts on lines 300..302
    src/__test__/Domain/Pitch.test.ts on lines 304..306
    src/__test__/Domain/Pitch.test.ts on lines 308..310
    src/__test__/Domain/Pitch.test.ts on lines 312..314
    src/__test__/Domain/Pitch.test.ts on lines 316..318
    src/__test__/Domain/Pitch.test.ts on lines 320..322
    src/__test__/Domain/Pitch.test.ts on lines 324..326
    src/__test__/Domain/Pitch.test.ts on lines 328..330
    src/__test__/Domain/Pitch.test.ts on lines 332..334
    src/__test__/Domain/Pitch.test.ts on lines 336..338
    src/__test__/Domain/Pitch.test.ts on lines 340..342
    src/__test__/Domain/Pitch.test.ts on lines 344..346
    src/__test__/Domain/Pitch.test.ts on lines 348..350
    src/__test__/Domain/Pitch.test.ts on lines 352..354
    src/__test__/Domain/Pitch.test.ts on lines 356..358
    src/__test__/Domain/Pitch.test.ts on lines 360..362
    src/__test__/Domain/Pitch.test.ts on lines 364..366

    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 48.

    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 38 locations. Consider refactoring.
    Wontfix

        test('C and E as MajorThird', () => {
          expect(Pitch.C.intervalTo(Pitch.E)).toBe(Interval.MajorThird);
        });
    Severity: Major
    Found in src/__test__/Domain/Pitch.test.ts and 37 other locations - About 40 mins to fix
    src/__test__/Domain/Pitch.test.ts on lines 214..216
    src/__test__/Domain/Pitch.test.ts on lines 218..220
    src/__test__/Domain/Pitch.test.ts on lines 222..224
    src/__test__/Domain/Pitch.test.ts on lines 230..232
    src/__test__/Domain/Pitch.test.ts on lines 234..236
    src/__test__/Domain/Pitch.test.ts on lines 238..240
    src/__test__/Domain/Pitch.test.ts on lines 242..244
    src/__test__/Domain/Pitch.test.ts on lines 246..248
    src/__test__/Domain/Pitch.test.ts on lines 250..252
    src/__test__/Domain/Pitch.test.ts on lines 254..256
    src/__test__/Domain/Pitch.test.ts on lines 258..260
    src/__test__/Domain/Pitch.test.ts on lines 262..264
    src/__test__/Domain/Pitch.test.ts on lines 266..268
    src/__test__/Domain/Pitch.test.ts on lines 272..274
    src/__test__/Domain/Pitch.test.ts on lines 276..278
    src/__test__/Domain/Pitch.test.ts on lines 280..282
    src/__test__/Domain/Pitch.test.ts on lines 284..286
    src/__test__/Domain/Pitch.test.ts on lines 288..290
    src/__test__/Domain/Pitch.test.ts on lines 292..294
    src/__test__/Domain/Pitch.test.ts on lines 296..298
    src/__test__/Domain/Pitch.test.ts on lines 300..302
    src/__test__/Domain/Pitch.test.ts on lines 304..306
    src/__test__/Domain/Pitch.test.ts on lines 308..310
    src/__test__/Domain/Pitch.test.ts on lines 312..314
    src/__test__/Domain/Pitch.test.ts on lines 316..318
    src/__test__/Domain/Pitch.test.ts on lines 320..322
    src/__test__/Domain/Pitch.test.ts on lines 324..326
    src/__test__/Domain/Pitch.test.ts on lines 328..330
    src/__test__/Domain/Pitch.test.ts on lines 332..334
    src/__test__/Domain/Pitch.test.ts on lines 336..338
    src/__test__/Domain/Pitch.test.ts on lines 340..342
    src/__test__/Domain/Pitch.test.ts on lines 344..346
    src/__test__/Domain/Pitch.test.ts on lines 348..350
    src/__test__/Domain/Pitch.test.ts on lines 352..354
    src/__test__/Domain/Pitch.test.ts on lines 356..358
    src/__test__/Domain/Pitch.test.ts on lines 360..362
    src/__test__/Domain/Pitch.test.ts on lines 364..366

    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 48.

    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 38 locations. Consider refactoring.
    Wontfix

        test('MajorSecond from C to D', () => {
          expect(Pitch.C.transpose(Interval.MajorSecond)).toBe(Pitch.D);
        });
    Severity: Major
    Found in src/__test__/Domain/Pitch.test.ts and 37 other locations - About 40 mins to fix
    src/__test__/Domain/Pitch.test.ts on lines 214..216
    src/__test__/Domain/Pitch.test.ts on lines 218..220
    src/__test__/Domain/Pitch.test.ts on lines 222..224
    src/__test__/Domain/Pitch.test.ts on lines 226..228
    src/__test__/Domain/Pitch.test.ts on lines 230..232
    src/__test__/Domain/Pitch.test.ts on lines 234..236
    src/__test__/Domain/Pitch.test.ts on lines 238..240
    src/__test__/Domain/Pitch.test.ts on lines 242..244
    src/__test__/Domain/Pitch.test.ts on lines 246..248
    src/__test__/Domain/Pitch.test.ts on lines 250..252
    src/__test__/Domain/Pitch.test.ts on lines 254..256
    src/__test__/Domain/Pitch.test.ts on lines 258..260
    src/__test__/Domain/Pitch.test.ts on lines 262..264
    src/__test__/Domain/Pitch.test.ts on lines 266..268
    src/__test__/Domain/Pitch.test.ts on lines 272..274
    src/__test__/Domain/Pitch.test.ts on lines 276..278
    src/__test__/Domain/Pitch.test.ts on lines 280..282
    src/__test__/Domain/Pitch.test.ts on lines 288..290
    src/__test__/Domain/Pitch.test.ts on lines 292..294
    src/__test__/Domain/Pitch.test.ts on lines 296..298
    src/__test__/Domain/Pitch.test.ts on lines 300..302
    src/__test__/Domain/Pitch.test.ts on lines 304..306
    src/__test__/Domain/Pitch.test.ts on lines 308..310
    src/__test__/Domain/Pitch.test.ts on lines 312..314
    src/__test__/Domain/Pitch.test.ts on lines 316..318
    src/__test__/Domain/Pitch.test.ts on lines 320..322
    src/__test__/Domain/Pitch.test.ts on lines 324..326
    src/__test__/Domain/Pitch.test.ts on lines 328..330
    src/__test__/Domain/Pitch.test.ts on lines 332..334
    src/__test__/Domain/Pitch.test.ts on lines 336..338
    src/__test__/Domain/Pitch.test.ts on lines 340..342
    src/__test__/Domain/Pitch.test.ts on lines 344..346
    src/__test__/Domain/Pitch.test.ts on lines 348..350
    src/__test__/Domain/Pitch.test.ts on lines 352..354
    src/__test__/Domain/Pitch.test.ts on lines 356..358
    src/__test__/Domain/Pitch.test.ts on lines 360..362
    src/__test__/Domain/Pitch.test.ts on lines 364..366

    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 48.

    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 38 locations. Consider refactoring.
    Wontfix

        test('PerfectFifth from D to A', () => {
          expect(Pitch.D.transpose(Interval.PerfectFifth)).toBe(Pitch.A);
        });
    Severity: Major
    Found in src/__test__/Domain/Pitch.test.ts and 37 other locations - About 40 mins to fix
    src/__test__/Domain/Pitch.test.ts on lines 214..216
    src/__test__/Domain/Pitch.test.ts on lines 218..220
    src/__test__/Domain/Pitch.test.ts on lines 222..224
    src/__test__/Domain/Pitch.test.ts on lines 226..228
    src/__test__/Domain/Pitch.test.ts on lines 230..232
    src/__test__/Domain/Pitch.test.ts on lines 234..236
    src/__test__/Domain/Pitch.test.ts on lines 238..240
    src/__test__/Domain/Pitch.test.ts on lines 242..244
    src/__test__/Domain/Pitch.test.ts on lines 246..248
    src/__test__/Domain/Pitch.test.ts on lines 250..252
    src/__test__/Domain/Pitch.test.ts on lines 254..256
    src/__test__/Domain/Pitch.test.ts on lines 258..260
    src/__test__/Domain/Pitch.test.ts on lines 262..264
    src/__test__/Domain/Pitch.test.ts on lines 266..268
    src/__test__/Domain/Pitch.test.ts on lines 272..274
    src/__test__/Domain/Pitch.test.ts on lines 276..278
    src/__test__/Domain/Pitch.test.ts on lines 280..282
    src/__test__/Domain/Pitch.test.ts on lines 284..286
    src/__test__/Domain/Pitch.test.ts on lines 288..290
    src/__test__/Domain/Pitch.test.ts on lines 292..294
    src/__test__/Domain/Pitch.test.ts on lines 296..298
    src/__test__/Domain/Pitch.test.ts on lines 300..302
    src/__test__/Domain/Pitch.test.ts on lines 304..306
    src/__test__/Domain/Pitch.test.ts on lines 308..310
    src/__test__/Domain/Pitch.test.ts on lines 312..314
    src/__test__/Domain/Pitch.test.ts on lines 320..322
    src/__test__/Domain/Pitch.test.ts on lines 324..326
    src/__test__/Domain/Pitch.test.ts on lines 328..330
    src/__test__/Domain/Pitch.test.ts on lines 332..334
    src/__test__/Domain/Pitch.test.ts on lines 336..338
    src/__test__/Domain/Pitch.test.ts on lines 340..342
    src/__test__/Domain/Pitch.test.ts on lines 344..346
    src/__test__/Domain/Pitch.test.ts on lines 348..350
    src/__test__/Domain/Pitch.test.ts on lines 352..354
    src/__test__/Domain/Pitch.test.ts on lines 356..358
    src/__test__/Domain/Pitch.test.ts on lines 360..362
    src/__test__/Domain/Pitch.test.ts on lines 364..366

    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 48.

    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 38 locations. Consider refactoring.
    Wontfix

        test('AugmentedFifth from C to G sharp', () => {
          expect(Pitch.C.transpose(Interval.AugmentedFifth)).toBe(Pitch.GSharp);
        });
    Severity: Major
    Found in src/__test__/Domain/Pitch.test.ts and 37 other locations - About 40 mins to fix
    src/__test__/Domain/Pitch.test.ts on lines 214..216
    src/__test__/Domain/Pitch.test.ts on lines 218..220
    src/__test__/Domain/Pitch.test.ts on lines 222..224
    src/__test__/Domain/Pitch.test.ts on lines 226..228
    src/__test__/Domain/Pitch.test.ts on lines 230..232
    src/__test__/Domain/Pitch.test.ts on lines 234..236
    src/__test__/Domain/Pitch.test.ts on lines 238..240
    src/__test__/Domain/Pitch.test.ts on lines 242..244
    src/__test__/Domain/Pitch.test.ts on lines 246..248
    src/__test__/Domain/Pitch.test.ts on lines 250..252
    src/__test__/Domain/Pitch.test.ts on lines 254..256
    src/__test__/Domain/Pitch.test.ts on lines 258..260
    src/__test__/Domain/Pitch.test.ts on lines 262..264
    src/__test__/Domain/Pitch.test.ts on lines 266..268
    src/__test__/Domain/Pitch.test.ts on lines 272..274
    src/__test__/Domain/Pitch.test.ts on lines 276..278
    src/__test__/Domain/Pitch.test.ts on lines 280..282
    src/__test__/Domain/Pitch.test.ts on lines 284..286
    src/__test__/Domain/Pitch.test.ts on lines 288..290
    src/__test__/Domain/Pitch.test.ts on lines 292..294
    src/__test__/Domain/Pitch.test.ts on lines 296..298
    src/__test__/Domain/Pitch.test.ts on lines 300..302
    src/__test__/Domain/Pitch.test.ts on lines 304..306
    src/__test__/Domain/Pitch.test.ts on lines 308..310
    src/__test__/Domain/Pitch.test.ts on lines 312..314
    src/__test__/Domain/Pitch.test.ts on lines 316..318
    src/__test__/Domain/Pitch.test.ts on lines 324..326
    src/__test__/Domain/Pitch.test.ts on lines 328..330
    src/__test__/Domain/Pitch.test.ts on lines 332..334
    src/__test__/Domain/Pitch.test.ts on lines 336..338
    src/__test__/Domain/Pitch.test.ts on lines 340..342
    src/__test__/Domain/Pitch.test.ts on lines 344..346
    src/__test__/Domain/Pitch.test.ts on lines 348..350
    src/__test__/Domain/Pitch.test.ts on lines 352..354
    src/__test__/Domain/Pitch.test.ts on lines 356..358
    src/__test__/Domain/Pitch.test.ts on lines 360..362
    src/__test__/Domain/Pitch.test.ts on lines 364..366

    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 48.

    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 38 locations. Consider refactoring.
    Wontfix

        test('augmented second from D to E#', () => {
          expect(Pitch.D.transpose(Interval.AugmentedSecond)).toBe(Pitch.ESharp);
        });
    Severity: Major
    Found in src/__test__/Domain/Pitch.test.ts and 37 other locations - About 40 mins to fix
    src/__test__/Domain/Pitch.test.ts on lines 214..216
    src/__test__/Domain/Pitch.test.ts on lines 218..220
    src/__test__/Domain/Pitch.test.ts on lines 222..224
    src/__test__/Domain/Pitch.test.ts on lines 226..228
    src/__test__/Domain/Pitch.test.ts on lines 230..232
    src/__test__/Domain/Pitch.test.ts on lines 234..236
    src/__test__/Domain/Pitch.test.ts on lines 238..240
    src/__test__/Domain/Pitch.test.ts on lines 242..244
    src/__test__/Domain/Pitch.test.ts on lines 246..248
    src/__test__/Domain/Pitch.test.ts on lines 250..252
    src/__test__/Domain/Pitch.test.ts on lines 254..256
    src/__test__/Domain/Pitch.test.ts on lines 258..260
    src/__test__/Domain/Pitch.test.ts on lines 262..264
    src/__test__/Domain/Pitch.test.ts on lines 266..268
    src/__test__/Domain/Pitch.test.ts on lines 272..274
    src/__test__/Domain/Pitch.test.ts on lines 276..278
    src/__test__/Domain/Pitch.test.ts on lines 280..282
    src/__test__/Domain/Pitch.test.ts on lines 284..286
    src/__test__/Domain/Pitch.test.ts on lines 288..290
    src/__test__/Domain/Pitch.test.ts on lines 292..294
    src/__test__/Domain/Pitch.test.ts on lines 296..298
    src/__test__/Domain/Pitch.test.ts on lines 300..302
    src/__test__/Domain/Pitch.test.ts on lines 304..306
    src/__test__/Domain/Pitch.test.ts on lines 308..310
    src/__test__/Domain/Pitch.test.ts on lines 312..314
    src/__test__/Domain/Pitch.test.ts on lines 316..318
    src/__test__/Domain/Pitch.test.ts on lines 320..322
    src/__test__/Domain/Pitch.test.ts on lines 324..326
    src/__test__/Domain/Pitch.test.ts on lines 328..330
    src/__test__/Domain/Pitch.test.ts on lines 332..334
    src/__test__/Domain/Pitch.test.ts on lines 336..338
    src/__test__/Domain/Pitch.test.ts on lines 340..342
    src/__test__/Domain/Pitch.test.ts on lines 344..346
    src/__test__/Domain/Pitch.test.ts on lines 348..350
    src/__test__/Domain/Pitch.test.ts on lines 352..354
    src/__test__/Domain/Pitch.test.ts on lines 360..362
    src/__test__/Domain/Pitch.test.ts on lines 364..366

    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 48.

    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 38 locations. Consider refactoring.
    Wontfix

        test('C and G as PerfectFifth', () => {
          expect(Pitch.C.intervalTo(Pitch.G)).toBe(Interval.PerfectFifth);
        });
    Severity: Major
    Found in src/__test__/Domain/Pitch.test.ts and 37 other locations - About 40 mins to fix
    src/__test__/Domain/Pitch.test.ts on lines 214..216
    src/__test__/Domain/Pitch.test.ts on lines 218..220
    src/__test__/Domain/Pitch.test.ts on lines 222..224
    src/__test__/Domain/Pitch.test.ts on lines 226..228
    src/__test__/Domain/Pitch.test.ts on lines 230..232
    src/__test__/Domain/Pitch.test.ts on lines 234..236
    src/__test__/Domain/Pitch.test.ts on lines 238..240
    src/__test__/Domain/Pitch.test.ts on lines 246..248
    src/__test__/Domain/Pitch.test.ts on lines 250..252
    src/__test__/Domain/Pitch.test.ts on lines 254..256
    src/__test__/Domain/Pitch.test.ts on lines 258..260
    src/__test__/Domain/Pitch.test.ts on lines 262..264
    src/__test__/Domain/Pitch.test.ts on lines 266..268
    src/__test__/Domain/Pitch.test.ts on lines 272..274
    src/__test__/Domain/Pitch.test.ts on lines 276..278
    src/__test__/Domain/Pitch.test.ts on lines 280..282
    src/__test__/Domain/Pitch.test.ts on lines 284..286
    src/__test__/Domain/Pitch.test.ts on lines 288..290
    src/__test__/Domain/Pitch.test.ts on lines 292..294
    src/__test__/Domain/Pitch.test.ts on lines 296..298
    src/__test__/Domain/Pitch.test.ts on lines 300..302
    src/__test__/Domain/Pitch.test.ts on lines 304..306
    src/__test__/Domain/Pitch.test.ts on lines 308..310
    src/__test__/Domain/Pitch.test.ts on lines 312..314
    src/__test__/Domain/Pitch.test.ts on lines 316..318
    src/__test__/Domain/Pitch.test.ts on lines 320..322
    src/__test__/Domain/Pitch.test.ts on lines 324..326
    src/__test__/Domain/Pitch.test.ts on lines 328..330
    src/__test__/Domain/Pitch.test.ts on lines 332..334
    src/__test__/Domain/Pitch.test.ts on lines 336..338
    src/__test__/Domain/Pitch.test.ts on lines 340..342
    src/__test__/Domain/Pitch.test.ts on lines 344..346
    src/__test__/Domain/Pitch.test.ts on lines 348..350
    src/__test__/Domain/Pitch.test.ts on lines 352..354
    src/__test__/Domain/Pitch.test.ts on lines 356..358
    src/__test__/Domain/Pitch.test.ts on lines 360..362
    src/__test__/Domain/Pitch.test.ts on lines 364..366

    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 48.

    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 38 locations. Consider refactoring.
    Wontfix

        test('PerfectFourth from C to F', () => {
          expect(Pitch.C.transpose(Interval.PerfectFourth)).toBe(Pitch.F);
        });
    Severity: Major
    Found in src/__test__/Domain/Pitch.test.ts and 37 other locations - About 40 mins to fix
    src/__test__/Domain/Pitch.test.ts on lines 214..216
    src/__test__/Domain/Pitch.test.ts on lines 218..220
    src/__test__/Domain/Pitch.test.ts on lines 222..224
    src/__test__/Domain/Pitch.test.ts on lines 226..228
    src/__test__/Domain/Pitch.test.ts on lines 230..232
    src/__test__/Domain/Pitch.test.ts on lines 234..236
    src/__test__/Domain/Pitch.test.ts on lines 238..240
    src/__test__/Domain/Pitch.test.ts on lines 242..244
    src/__test__/Domain/Pitch.test.ts on lines 246..248
    src/__test__/Domain/Pitch.test.ts on lines 250..252
    src/__test__/Domain/Pitch.test.ts on lines 254..256
    src/__test__/Domain/Pitch.test.ts on lines 258..260
    src/__test__/Domain/Pitch.test.ts on lines 262..264
    src/__test__/Domain/Pitch.test.ts on lines 266..268
    src/__test__/Domain/Pitch.test.ts on lines 272..274
    src/__test__/Domain/Pitch.test.ts on lines 276..278
    src/__test__/Domain/Pitch.test.ts on lines 280..282
    src/__test__/Domain/Pitch.test.ts on lines 284..286
    src/__test__/Domain/Pitch.test.ts on lines 288..290
    src/__test__/Domain/Pitch.test.ts on lines 292..294
    src/__test__/Domain/Pitch.test.ts on lines 296..298
    src/__test__/Domain/Pitch.test.ts on lines 304..306
    src/__test__/Domain/Pitch.test.ts on lines 308..310
    src/__test__/Domain/Pitch.test.ts on lines 312..314
    src/__test__/Domain/Pitch.test.ts on lines 316..318
    src/__test__/Domain/Pitch.test.ts on lines 320..322
    src/__test__/Domain/Pitch.test.ts on lines 324..326
    src/__test__/Domain/Pitch.test.ts on lines 328..330
    src/__test__/Domain/Pitch.test.ts on lines 332..334
    src/__test__/Domain/Pitch.test.ts on lines 336..338
    src/__test__/Domain/Pitch.test.ts on lines 340..342
    src/__test__/Domain/Pitch.test.ts on lines 344..346
    src/__test__/Domain/Pitch.test.ts on lines 348..350
    src/__test__/Domain/Pitch.test.ts on lines 352..354
    src/__test__/Domain/Pitch.test.ts on lines 356..358
    src/__test__/Domain/Pitch.test.ts on lines 360..362
    src/__test__/Domain/Pitch.test.ts on lines 364..366

    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 48.

    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 38 locations. Consider refactoring.
    Wontfix

        test('PerfectFifth from C to G', () => {
          expect(Pitch.C.transpose(Interval.PerfectFifth)).toBe(Pitch.G);
        });
    Severity: Major
    Found in src/__test__/Domain/Pitch.test.ts and 37 other locations - About 40 mins to fix
    src/__test__/Domain/Pitch.test.ts on lines 214..216
    src/__test__/Domain/Pitch.test.ts on lines 218..220
    src/__test__/Domain/Pitch.test.ts on lines 222..224
    src/__test__/Domain/Pitch.test.ts on lines 226..228
    src/__test__/Domain/Pitch.test.ts on lines 230..232
    src/__test__/Domain/Pitch.test.ts on lines 234..236
    src/__test__/Domain/Pitch.test.ts on lines 238..240
    src/__test__/Domain/Pitch.test.ts on lines 242..244
    src/__test__/Domain/Pitch.test.ts on lines 246..248
    src/__test__/Domain/Pitch.test.ts on lines 250..252
    src/__test__/Domain/Pitch.test.ts on lines 254..256
    src/__test__/Domain/Pitch.test.ts on lines 258..260
    src/__test__/Domain/Pitch.test.ts on lines 262..264
    src/__test__/Domain/Pitch.test.ts on lines 266..268
    src/__test__/Domain/Pitch.test.ts on lines 272..274
    src/__test__/Domain/Pitch.test.ts on lines 276..278
    src/__test__/Domain/Pitch.test.ts on lines 280..282
    src/__test__/Domain/Pitch.test.ts on lines 284..286
    src/__test__/Domain/Pitch.test.ts on lines 288..290
    src/__test__/Domain/Pitch.test.ts on lines 292..294
    src/__test__/Domain/Pitch.test.ts on lines 296..298
    src/__test__/Domain/Pitch.test.ts on lines 300..302
    src/__test__/Domain/Pitch.test.ts on lines 304..306
    src/__test__/Domain/Pitch.test.ts on lines 308..310
    src/__test__/Domain/Pitch.test.ts on lines 316..318
    src/__test__/Domain/Pitch.test.ts on lines 320..322
    src/__test__/Domain/Pitch.test.ts on lines 324..326
    src/__test__/Domain/Pitch.test.ts on lines 328..330
    src/__test__/Domain/Pitch.test.ts on lines 332..334
    src/__test__/Domain/Pitch.test.ts on lines 336..338
    src/__test__/Domain/Pitch.test.ts on lines 340..342
    src/__test__/Domain/Pitch.test.ts on lines 344..346
    src/__test__/Domain/Pitch.test.ts on lines 348..350
    src/__test__/Domain/Pitch.test.ts on lines 352..354
    src/__test__/Domain/Pitch.test.ts on lines 356..358
    src/__test__/Domain/Pitch.test.ts on lines 360..362
    src/__test__/Domain/Pitch.test.ts on lines 364..366

    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 48.

    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 38 locations. Consider refactoring.
    Wontfix

        test('diminished seventh from G to E', () => {
          expect(Pitch.G.transpose(Interval.DiminishedSeventh)).toBe(Pitch.E);
        });
    Severity: Major
    Found in src/__test__/Domain/Pitch.test.ts and 37 other locations - About 40 mins to fix
    src/__test__/Domain/Pitch.test.ts on lines 214..216
    src/__test__/Domain/Pitch.test.ts on lines 218..220
    src/__test__/Domain/Pitch.test.ts on lines 222..224
    src/__test__/Domain/Pitch.test.ts on lines 226..228
    src/__test__/Domain/Pitch.test.ts on lines 230..232
    src/__test__/Domain/Pitch.test.ts on lines 234..236
    src/__test__/Domain/Pitch.test.ts on lines 238..240
    src/__test__/Domain/Pitch.test.ts on lines 242..244
    src/__test__/Domain/Pitch.test.ts on lines 246..248
    src/__test__/Domain/Pitch.test.ts on lines 250..252
    src/__test__/Domain/Pitch.test.ts on lines 254..256
    src/__test__/Domain/Pitch.test.ts on lines 258..260
    src/__test__/Domain/Pitch.test.ts on lines 262..264
    src/__test__/Domain/Pitch.test.ts on lines 266..268
    src/__test__/Domain/Pitch.test.ts on lines 272..274
    src/__test__/Domain/Pitch.test.ts on lines 276..278
    src/__test__/Domain/Pitch.test.ts on lines 280..282
    src/__test__/Domain/Pitch.test.ts on lines 284..286
    src/__test__/Domain/Pitch.test.ts on lines 288..290
    src/__test__/Domain/Pitch.test.ts on lines 292..294
    src/__test__/Domain/Pitch.test.ts on lines 296..298
    src/__test__/Domain/Pitch.test.ts on lines 300..302
    src/__test__/Domain/Pitch.test.ts on lines 304..306
    src/__test__/Domain/Pitch.test.ts on lines 308..310
    src/__test__/Domain/Pitch.test.ts on lines 312..314
    src/__test__/Domain/Pitch.test.ts on lines 316..318
    src/__test__/Domain/Pitch.test.ts on lines 320..322
    src/__test__/Domain/Pitch.test.ts on lines 324..326
    src/__test__/Domain/Pitch.test.ts on lines 328..330
    src/__test__/Domain/Pitch.test.ts on lines 332..334
    src/__test__/Domain/Pitch.test.ts on lines 340..342
    src/__test__/Domain/Pitch.test.ts on lines 344..346
    src/__test__/Domain/Pitch.test.ts on lines 348..350
    src/__test__/Domain/Pitch.test.ts on lines 352..354
    src/__test__/Domain/Pitch.test.ts on lines 356..358
    src/__test__/Domain/Pitch.test.ts on lines 360..362
    src/__test__/Domain/Pitch.test.ts on lines 364..366

    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 48.

    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 38 locations. Consider refactoring.
    Wontfix

        test('MajorThird from C to E', () => {
          expect(Pitch.C.transpose(Interval.MajorThird)).toBe(Pitch.E);
        });
    Severity: Major
    Found in src/__test__/Domain/Pitch.test.ts and 37 other locations - About 40 mins to fix
    src/__test__/Domain/Pitch.test.ts on lines 214..216
    src/__test__/Domain/Pitch.test.ts on lines 218..220
    src/__test__/Domain/Pitch.test.ts on lines 222..224
    src/__test__/Domain/Pitch.test.ts on lines 226..228
    src/__test__/Domain/Pitch.test.ts on lines 230..232
    src/__test__/Domain/Pitch.test.ts on lines 234..236
    src/__test__/Domain/Pitch.test.ts on lines 238..240
    src/__test__/Domain/Pitch.test.ts on lines 242..244
    src/__test__/Domain/Pitch.test.ts on lines 246..248
    src/__test__/Domain/Pitch.test.ts on lines 250..252
    src/__test__/Domain/Pitch.test.ts on lines 254..256
    src/__test__/Domain/Pitch.test.ts on lines 258..260
    src/__test__/Domain/Pitch.test.ts on lines 262..264
    src/__test__/Domain/Pitch.test.ts on lines 266..268
    src/__test__/Domain/Pitch.test.ts on lines 272..274
    src/__test__/Domain/Pitch.test.ts on lines 276..278
    src/__test__/Domain/Pitch.test.ts on lines 280..282
    src/__test__/Domain/Pitch.test.ts on lines 284..286
    src/__test__/Domain/Pitch.test.ts on lines 288..290
    src/__test__/Domain/Pitch.test.ts on lines 292..294
    src/__test__/Domain/Pitch.test.ts on lines 300..302
    src/__test__/Domain/Pitch.test.ts on lines 304..306
    src/__test__/Domain/Pitch.test.ts on lines 308..310
    src/__test__/Domain/Pitch.test.ts on lines 312..314
    src/__test__/Domain/Pitch.test.ts on lines 316..318
    src/__test__/Domain/Pitch.test.ts on lines 320..322
    src/__test__/Domain/Pitch.test.ts on lines 324..326
    src/__test__/Domain/Pitch.test.ts on lines 328..330
    src/__test__/Domain/Pitch.test.ts on lines 332..334
    src/__test__/Domain/Pitch.test.ts on lines 336..338
    src/__test__/Domain/Pitch.test.ts on lines 340..342
    src/__test__/Domain/Pitch.test.ts on lines 344..346
    src/__test__/Domain/Pitch.test.ts on lines 348..350
    src/__test__/Domain/Pitch.test.ts on lines 352..354
    src/__test__/Domain/Pitch.test.ts on lines 356..358
    src/__test__/Domain/Pitch.test.ts on lines 360..362
    src/__test__/Domain/Pitch.test.ts on lines 364..366

    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 48.

    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 38 locations. Consider refactoring.
    Wontfix

        test('AugmentedFourth from C to F sharp', () => {
          expect(Pitch.C.transpose(Interval.AugmentedFourth)).toBe(Pitch.FSharp);
        });
    Severity: Major
    Found in src/__test__/Domain/Pitch.test.ts and 37 other locations - About 40 mins to fix
    src/__test__/Domain/Pitch.test.ts on lines 214..216
    src/__test__/Domain/Pitch.test.ts on lines 218..220
    src/__test__/Domain/Pitch.test.ts on lines 222..224
    src/__test__/Domain/Pitch.test.ts on lines 226..228
    src/__test__/Domain/Pitch.test.ts on lines 230..232
    src/__test__/Domain/Pitch.test.ts on lines 234..236
    src/__test__/Domain/Pitch.test.ts on lines 238..240
    src/__test__/Domain/Pitch.test.ts on lines 242..244
    src/__test__/Domain/Pitch.test.ts on lines 246..248
    src/__test__/Domain/Pitch.test.ts on lines 250..252
    src/__test__/Domain/Pitch.test.ts on lines 254..256
    src/__test__/Domain/Pitch.test.ts on lines 258..260
    src/__test__/Domain/Pitch.test.ts on lines 262..264
    src/__test__/Domain/Pitch.test.ts on lines 266..268
    src/__test__/Domain/Pitch.test.ts on lines 272..274
    src/__test__/Domain/Pitch.test.ts on lines 276..278
    src/__test__/Domain/Pitch.test.ts on lines 280..282
    src/__test__/Domain/Pitch.test.ts on lines 284..286
    src/__test__/Domain/Pitch.test.ts on lines 288..290
    src/__test__/Domain/Pitch.test.ts on lines 292..294
    src/__test__/Domain/Pitch.test.ts on lines 296..298
    src/__test__/Domain/Pitch.test.ts on lines 300..302
    src/__test__/Domain/Pitch.test.ts on lines 308..310
    src/__test__/Domain/Pitch.test.ts on lines 312..314
    src/__test__/Domain/Pitch.test.ts on lines 316..318
    src/__test__/Domain/Pitch.test.ts on lines 320..322
    src/__test__/Domain/Pitch.test.ts on lines 324..326
    src/__test__/Domain/Pitch.test.ts on lines 328..330
    src/__test__/Domain/Pitch.test.ts on lines 332..334
    src/__test__/Domain/Pitch.test.ts on lines 336..338
    src/__test__/Domain/Pitch.test.ts on lines 340..342
    src/__test__/Domain/Pitch.test.ts on lines 344..346
    src/__test__/Domain/Pitch.test.ts on lines 348..350
    src/__test__/Domain/Pitch.test.ts on lines 352..354
    src/__test__/Domain/Pitch.test.ts on lines 356..358
    src/__test__/Domain/Pitch.test.ts on lines 360..362
    src/__test__/Domain/Pitch.test.ts on lines 364..366

    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 48.

    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 38 locations. Consider refactoring.
    Wontfix

        test('MajorSixth from C to A', () => {
          expect(Pitch.C.transpose(Interval.MajorSixth)).toBe(Pitch.A);
        });
    Severity: Major
    Found in src/__test__/Domain/Pitch.test.ts and 37 other locations - About 40 mins to fix
    src/__test__/Domain/Pitch.test.ts on lines 214..216
    src/__test__/Domain/Pitch.test.ts on lines 218..220
    src/__test__/Domain/Pitch.test.ts on lines 222..224
    src/__test__/Domain/Pitch.test.ts on lines 226..228
    src/__test__/Domain/Pitch.test.ts on lines 230..232
    src/__test__/Domain/Pitch.test.ts on lines 234..236
    src/__test__/Domain/Pitch.test.ts on lines 238..240
    src/__test__/Domain/Pitch.test.ts on lines 242..244
    src/__test__/Domain/Pitch.test.ts on lines 246..248
    src/__test__/Domain/Pitch.test.ts on lines 250..252
    src/__test__/Domain/Pitch.test.ts on lines 254..256
    src/__test__/Domain/Pitch.test.ts on lines 258..260
    src/__test__/Domain/Pitch.test.ts on lines 262..264
    src/__test__/Domain/Pitch.test.ts on lines 266..268
    src/__test__/Domain/Pitch.test.ts on lines 272..274
    src/__test__/Domain/Pitch.test.ts on lines 276..278
    src/__test__/Domain/Pitch.test.ts on lines 280..282
    src/__test__/Domain/Pitch.test.ts on lines 284..286
    src/__test__/Domain/Pitch.test.ts on lines 288..290
    src/__test__/Domain/Pitch.test.ts on lines 292..294
    src/__test__/Domain/Pitch.test.ts on lines 296..298
    src/__test__/Domain/Pitch.test.ts on lines 300..302
    src/__test__/Domain/Pitch.test.ts on lines 304..306
    src/__test__/Domain/Pitch.test.ts on lines 308..310
    src/__test__/Domain/Pitch.test.ts on lines 312..314
    src/__test__/Domain/Pitch.test.ts on lines 316..318
    src/__test__/Domain/Pitch.test.ts on lines 320..322
    src/__test__/Domain/Pitch.test.ts on lines 324..326
    src/__test__/Domain/Pitch.test.ts on lines 332..334
    src/__test__/Domain/Pitch.test.ts on lines 336..338
    src/__test__/Domain/Pitch.test.ts on lines 340..342
    src/__test__/Domain/Pitch.test.ts on lines 344..346
    src/__test__/Domain/Pitch.test.ts on lines 348..350
    src/__test__/Domain/Pitch.test.ts on lines 352..354
    src/__test__/Domain/Pitch.test.ts on lines 356..358
    src/__test__/Domain/Pitch.test.ts on lines 360..362
    src/__test__/Domain/Pitch.test.ts on lines 364..366

    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 48.

    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 38 locations. Consider refactoring.
    Wontfix

        test('diminished seventh from C to B flat flat', () => {
          expect(Pitch.C.transpose(Interval.DiminishedSeventh)).toBe(Pitch.A);
        });
    Severity: Major
    Found in src/__test__/Domain/Pitch.test.ts and 37 other locations - About 40 mins to fix
    src/__test__/Domain/Pitch.test.ts on lines 214..216
    src/__test__/Domain/Pitch.test.ts on lines 218..220
    src/__test__/Domain/Pitch.test.ts on lines 222..224
    src/__test__/Domain/Pitch.test.ts on lines 226..228
    src/__test__/Domain/Pitch.test.ts on lines 230..232
    src/__test__/Domain/Pitch.test.ts on lines 234..236
    src/__test__/Domain/Pitch.test.ts on lines 238..240
    src/__test__/Domain/Pitch.test.ts on lines 242..244
    src/__test__/Domain/Pitch.test.ts on lines 246..248
    src/__test__/Domain/Pitch.test.ts on lines 250..252
    src/__test__/Domain/Pitch.test.ts on lines 254..256
    src/__test__/Domain/Pitch.test.ts on lines 258..260
    src/__test__/Domain/Pitch.test.ts on lines 262..264
    src/__test__/Domain/Pitch.test.ts on lines 266..268
    src/__test__/Domain/Pitch.test.ts on lines 272..274
    src/__test__/Domain/Pitch.test.ts on lines 276..278
    src/__test__/Domain/Pitch.test.ts on lines 280..282
    src/__test__/Domain/Pitch.test.ts on lines 284..286
    src/__test__/Domain/Pitch.test.ts on lines 288..290
    src/__test__/Domain/Pitch.test.ts on lines 292..294
    src/__test__/Domain/Pitch.test.ts on lines 296..298
    src/__test__/Domain/Pitch.test.ts on lines 300..302
    src/__test__/Domain/Pitch.test.ts on lines 304..306
    src/__test__/Domain/Pitch.test.ts on lines 308..310
    src/__test__/Domain/Pitch.test.ts on lines 312..314
    src/__test__/Domain/Pitch.test.ts on lines 316..318
    src/__test__/Domain/Pitch.test.ts on lines 320..322
    src/__test__/Domain/Pitch.test.ts on lines 324..326
    src/__test__/Domain/Pitch.test.ts on lines 328..330
    src/__test__/Domain/Pitch.test.ts on lines 336..338
    src/__test__/Domain/Pitch.test.ts on lines 340..342
    src/__test__/Domain/Pitch.test.ts on lines 344..346
    src/__test__/Domain/Pitch.test.ts on lines 348..350
    src/__test__/Domain/Pitch.test.ts on lines 352..354
    src/__test__/Domain/Pitch.test.ts on lines 356..358
    src/__test__/Domain/Pitch.test.ts on lines 360..362
    src/__test__/Domain/Pitch.test.ts on lines 364..366

    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 48.

    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 38 locations. Consider refactoring.
    Wontfix

        test('major third from G to B', () => {
          expect(Pitch.G.transpose(Interval.MajorThird)).toBe(Pitch.B);
        });
    Severity: Major
    Found in src/__test__/Domain/Pitch.test.ts and 37 other locations - About 40 mins to fix
    src/__test__/Domain/Pitch.test.ts on lines 214..216
    src/__test__/Domain/Pitch.test.ts on lines 218..220
    src/__test__/Domain/Pitch.test.ts on lines 222..224
    src/__test__/Domain/Pitch.test.ts on lines 226..228
    src/__test__/Domain/Pitch.test.ts on lines 230..232
    src/__test__/Domain/Pitch.test.ts on lines 234..236
    src/__test__/Domain/Pitch.test.ts on lines 238..240
    src/__test__/Domain/Pitch.test.ts on lines 242..244
    src/__test__/Domain/Pitch.test.ts on lines 246..248
    src/__test__/Domain/Pitch.test.ts on lines 250..252
    src/__test__/Domain/Pitch.test.ts on lines 254..256
    src/__test__/Domain/Pitch.test.ts on lines 258..260
    src/__test__/Domain/Pitch.test.ts on lines 262..264
    src/__test__/Domain/Pitch.test.ts on lines 266..268
    src/__test__/Domain/Pitch.test.ts on lines 272..274
    src/__test__/Domain/Pitch.test.ts on lines 276..278
    src/__test__/Domain/Pitch.test.ts on lines 280..282
    src/__test__/Domain/Pitch.test.ts on lines 284..286
    src/__test__/Domain/Pitch.test.ts on lines 288..290
    src/__test__/Domain/Pitch.test.ts on lines 292..294
    src/__test__/Domain/Pitch.test.ts on lines 296..298
    src/__test__/Domain/Pitch.test.ts on lines 300..302
    src/__test__/Domain/Pitch.test.ts on lines 304..306
    src/__test__/Domain/Pitch.test.ts on lines 308..310
    src/__test__/Domain/Pitch.test.ts on lines 312..314
    src/__test__/Domain/Pitch.test.ts on lines 316..318
    src/__test__/Domain/Pitch.test.ts on lines 320..322
    src/__test__/Domain/Pitch.test.ts on lines 324..326
    src/__test__/Domain/Pitch.test.ts on lines 328..330
    src/__test__/Domain/Pitch.test.ts on lines 332..334
    src/__test__/Domain/Pitch.test.ts on lines 336..338
    src/__test__/Domain/Pitch.test.ts on lines 340..342
    src/__test__/Domain/Pitch.test.ts on lines 344..346
    src/__test__/Domain/Pitch.test.ts on lines 348..350
    src/__test__/Domain/Pitch.test.ts on lines 352..354
    src/__test__/Domain/Pitch.test.ts on lines 356..358
    src/__test__/Domain/Pitch.test.ts on lines 360..362

    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 48.

    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 38 locations. Consider refactoring.
    Wontfix

        test('C and E flat as MinorThird', () => {
          expect(Pitch.C.intervalTo(Pitch.EFlat)).toBe(Interval.MinorThird);
        });
    Severity: Major
    Found in src/__test__/Domain/Pitch.test.ts and 37 other locations - About 40 mins to fix
    src/__test__/Domain/Pitch.test.ts on lines 214..216
    src/__test__/Domain/Pitch.test.ts on lines 218..220
    src/__test__/Domain/Pitch.test.ts on lines 226..228
    src/__test__/Domain/Pitch.test.ts on lines 230..232
    src/__test__/Domain/Pitch.test.ts on lines 234..236
    src/__test__/Domain/Pitch.test.ts on lines 238..240
    src/__test__/Domain/Pitch.test.ts on lines 242..244
    src/__test__/Domain/Pitch.test.ts on lines 246..248
    src/__test__/Domain/Pitch.test.ts on lines 250..252
    src/__test__/Domain/Pitch.test.ts on lines 254..256
    src/__test__/Domain/Pitch.test.ts on lines 258..260
    src/__test__/Domain/Pitch.test.ts on lines 262..264
    src/__test__/Domain/Pitch.test.ts on lines 266..268
    src/__test__/Domain/Pitch.test.ts on lines 272..274
    src/__test__/Domain/Pitch.test.ts on lines 276..278
    src/__test__/Domain/Pitch.test.ts on lines 280..282
    src/__test__/Domain/Pitch.test.ts on lines 284..286
    src/__test__/Domain/Pitch.test.ts on lines 288..290
    src/__test__/Domain/Pitch.test.ts on lines 292..294
    src/__test__/Domain/Pitch.test.ts on lines 296..298
    src/__test__/Domain/Pitch.test.ts on lines 300..302
    src/__test__/Domain/Pitch.test.ts on lines 304..306
    src/__test__/Domain/Pitch.test.ts on lines 308..310
    src/__test__/Domain/Pitch.test.ts on lines 312..314
    src/__test__/Domain/Pitch.test.ts on lines 316..318
    src/__test__/Domain/Pitch.test.ts on lines 320..322
    src/__test__/Domain/Pitch.test.ts on lines 324..326
    src/__test__/Domain/Pitch.test.ts on lines 328..330
    src/__test__/Domain/Pitch.test.ts on lines 332..334
    src/__test__/Domain/Pitch.test.ts on lines 336..338
    src/__test__/Domain/Pitch.test.ts on lines 340..342
    src/__test__/Domain/Pitch.test.ts on lines 344..346
    src/__test__/Domain/Pitch.test.ts on lines 348..350
    src/__test__/Domain/Pitch.test.ts on lines 352..354
    src/__test__/Domain/Pitch.test.ts on lines 356..358
    src/__test__/Domain/Pitch.test.ts on lines 360..362
    src/__test__/Domain/Pitch.test.ts on lines 364..366

    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 48.

    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 38 locations. Consider refactoring.
    Wontfix

        test('C and A as MajorSixth', () => {
          expect(Pitch.C.intervalTo(Pitch.A)).toBe(Interval.MajorSixth);
        });
    Severity: Major
    Found in src/__test__/Domain/Pitch.test.ts and 37 other locations - About 40 mins to fix
    src/__test__/Domain/Pitch.test.ts on lines 214..216
    src/__test__/Domain/Pitch.test.ts on lines 218..220
    src/__test__/Domain/Pitch.test.ts on lines 222..224
    src/__test__/Domain/Pitch.test.ts on lines 226..228
    src/__test__/Domain/Pitch.test.ts on lines 230..232
    src/__test__/Domain/Pitch.test.ts on lines 234..236
    src/__test__/Domain/Pitch.test.ts on lines 238..240
    src/__test__/Domain/Pitch.test.ts on lines 242..244
    src/__test__/Domain/Pitch.test.ts on lines 246..248
    src/__test__/Domain/Pitch.test.ts on lines 250..252
    src/__test__/Domain/Pitch.test.ts on lines 258..260
    src/__test__/Domain/Pitch.test.ts on lines 262..264
    src/__test__/Domain/Pitch.test.ts on lines 266..268
    src/__test__/Domain/Pitch.test.ts on lines 272..274
    src/__test__/Domain/Pitch.test.ts on lines 276..278
    src/__test__/Domain/Pitch.test.ts on lines 280..282
    src/__test__/Domain/Pitch.test.ts on lines 284..286
    src/__test__/Domain/Pitch.test.ts on lines 288..290
    src/__test__/Domain/Pitch.test.ts on lines 292..294
    src/__test__/Domain/Pitch.test.ts on lines 296..298
    src/__test__/Domain/Pitch.test.ts on lines 300..302
    src/__test__/Domain/Pitch.test.ts on lines 304..306
    src/__test__/Domain/Pitch.test.ts on lines 308..310
    src/__test__/Domain/Pitch.test.ts on lines 312..314
    src/__test__/Domain/Pitch.test.ts on lines 316..318
    src/__test__/Domain/Pitch.test.ts on lines 320..322
    src/__test__/Domain/Pitch.test.ts on lines 324..326
    src/__test__/Domain/Pitch.test.ts on lines 328..330
    src/__test__/Domain/Pitch.test.ts on lines 332..334
    src/__test__/Domain/Pitch.test.ts on lines 336..338
    src/__test__/Domain/Pitch.test.ts on lines 340..342
    src/__test__/Domain/Pitch.test.ts on lines 344..346
    src/__test__/Domain/Pitch.test.ts on lines 348..350
    src/__test__/Domain/Pitch.test.ts on lines 352..354
    src/__test__/Domain/Pitch.test.ts on lines 356..358
    src/__test__/Domain/Pitch.test.ts on lines 360..362
    src/__test__/Domain/Pitch.test.ts on lines 364..366

    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 48.

    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 38 locations. Consider refactoring.
    Wontfix

        test('C and B flat as MinorSeventh', () => {
          expect(Pitch.C.intervalTo(Pitch.BFlat)).toBe(Interval.MinorSeventh);
        });
    Severity: Major
    Found in src/__test__/Domain/Pitch.test.ts and 37 other locations - About 40 mins to fix
    src/__test__/Domain/Pitch.test.ts on lines 214..216
    src/__test__/Domain/Pitch.test.ts on lines 218..220
    src/__test__/Domain/Pitch.test.ts on lines 222..224
    src/__test__/Domain/Pitch.test.ts on lines 226..228
    src/__test__/Domain/Pitch.test.ts on lines 230..232
    src/__test__/Domain/Pitch.test.ts on lines 234..236
    src/__test__/Domain/Pitch.test.ts on lines 238..240
    src/__test__/Domain/Pitch.test.ts on lines 242..244
    src/__test__/Domain/Pitch.test.ts on lines 246..248
    src/__test__/Domain/Pitch.test.ts on lines 250..252
    src/__test__/Domain/Pitch.test.ts on lines 254..256
    src/__test__/Domain/Pitch.test.ts on lines 262..264
    src/__test__/Domain/Pitch.test.ts on lines 266..268
    src/__test__/Domain/Pitch.test.ts on lines 272..274
    src/__test__/Domain/Pitch.test.ts on lines 276..278
    src/__test__/Domain/Pitch.test.ts on lines 280..282
    src/__test__/Domain/Pitch.test.ts on lines 284..286
    src/__test__/Domain/Pitch.test.ts on lines 288..290
    src/__test__/Domain/Pitch.test.ts on lines 292..294
    src/__test__/Domain/Pitch.test.ts on lines 296..298
    src/__test__/Domain/Pitch.test.ts on lines 300..302
    src/__test__/Domain/Pitch.test.ts on lines 304..306
    src/__test__/Domain/Pitch.test.ts on lines 308..310
    src/__test__/Domain/Pitch.test.ts on lines 312..314
    src/__test__/Domain/Pitch.test.ts on lines 316..318
    src/__test__/Domain/Pitch.test.ts on lines 320..322
    src/__test__/Domain/Pitch.test.ts on lines 324..326
    src/__test__/Domain/Pitch.test.ts on lines 328..330
    src/__test__/Domain/Pitch.test.ts on lines 332..334
    src/__test__/Domain/Pitch.test.ts on lines 336..338
    src/__test__/Domain/Pitch.test.ts on lines 340..342
    src/__test__/Domain/Pitch.test.ts on lines 344..346
    src/__test__/Domain/Pitch.test.ts on lines 348..350
    src/__test__/Domain/Pitch.test.ts on lines 352..354
    src/__test__/Domain/Pitch.test.ts on lines 356..358
    src/__test__/Domain/Pitch.test.ts on lines 360..362
    src/__test__/Domain/Pitch.test.ts on lines 364..366

    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 48.

    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 38 locations. Consider refactoring.
    Wontfix

        test('Unison from C to C', () => {
          expect(Pitch.C.transpose(Interval.Unison)).toBe(Pitch.C);
        });
    Severity: Major
    Found in src/__test__/Domain/Pitch.test.ts and 37 other locations - About 40 mins to fix
    src/__test__/Domain/Pitch.test.ts on lines 214..216
    src/__test__/Domain/Pitch.test.ts on lines 218..220
    src/__test__/Domain/Pitch.test.ts on lines 222..224
    src/__test__/Domain/Pitch.test.ts on lines 226..228
    src/__test__/Domain/Pitch.test.ts on lines 230..232
    src/__test__/Domain/Pitch.test.ts on lines 234..236
    src/__test__/Domain/Pitch.test.ts on lines 238..240
    src/__test__/Domain/Pitch.test.ts on lines 242..244
    src/__test__/Domain/Pitch.test.ts on lines 246..248
    src/__test__/Domain/Pitch.test.ts on lines 250..252
    src/__test__/Domain/Pitch.test.ts on lines 254..256
    src/__test__/Domain/Pitch.test.ts on lines 258..260
    src/__test__/Domain/Pitch.test.ts on lines 262..264
    src/__test__/Domain/Pitch.test.ts on lines 266..268
    src/__test__/Domain/Pitch.test.ts on lines 276..278
    src/__test__/Domain/Pitch.test.ts on lines 280..282
    src/__test__/Domain/Pitch.test.ts on lines 284..286
    src/__test__/Domain/Pitch.test.ts on lines 288..290
    src/__test__/Domain/Pitch.test.ts on lines 292..294
    src/__test__/Domain/Pitch.test.ts on lines 296..298
    src/__test__/Domain/Pitch.test.ts on lines 300..302
    src/__test__/Domain/Pitch.test.ts on lines 304..306
    src/__test__/Domain/Pitch.test.ts on lines 308..310
    src/__test__/Domain/Pitch.test.ts on lines 312..314
    src/__test__/Domain/Pitch.test.ts on lines 316..318
    src/__test__/Domain/Pitch.test.ts on lines 320..322
    src/__test__/Domain/Pitch.test.ts on lines 324..326
    src/__test__/Domain/Pitch.test.ts on lines 328..330
    src/__test__/Domain/Pitch.test.ts on lines 332..334
    src/__test__/Domain/Pitch.test.ts on lines 336..338
    src/__test__/Domain/Pitch.test.ts on lines 340..342
    src/__test__/Domain/Pitch.test.ts on lines 344..346
    src/__test__/Domain/Pitch.test.ts on lines 348..350
    src/__test__/Domain/Pitch.test.ts on lines 352..354
    src/__test__/Domain/Pitch.test.ts on lines 356..358
    src/__test__/Domain/Pitch.test.ts on lines 360..362
    src/__test__/Domain/Pitch.test.ts on lines 364..366

    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 48.

    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 38 locations. Consider refactoring.
    Wontfix

        test('MinorSixth from C to A flat', () => {
          expect(Pitch.C.transpose(Interval.MinorSixth)).toBe(Pitch.AFlat);
        });
    Severity: Major
    Found in src/__test__/Domain/Pitch.test.ts and 37 other locations - About 40 mins to fix
    src/__test__/Domain/Pitch.test.ts on lines 214..216
    src/__test__/Domain/Pitch.test.ts on lines 218..220
    src/__test__/Domain/Pitch.test.ts on lines 222..224
    src/__test__/Domain/Pitch.test.ts on lines 226..228
    src/__test__/Domain/Pitch.test.ts on lines 230..232
    src/__test__/Domain/Pitch.test.ts on lines 234..236
    src/__test__/Domain/Pitch.test.ts on lines 238..240
    src/__test__/Domain/Pitch.test.ts on lines 242..244
    src/__test__/Domain/Pitch.test.ts on lines 246..248
    src/__test__/Domain/Pitch.test.ts on lines 250..252
    src/__test__/Domain/Pitch.test.ts on lines 254..256
    src/__test__/Domain/Pitch.test.ts on lines 258..260
    src/__test__/Domain/Pitch.test.ts on lines 262..264
    src/__test__/Domain/Pitch.test.ts on lines 266..268
    src/__test__/Domain/Pitch.test.ts on lines 272..274
    src/__test__/Domain/Pitch.test.ts on lines 276..278
    src/__test__/Domain/Pitch.test.ts on lines 280..282
    src/__test__/Domain/Pitch.test.ts on lines 284..286
    src/__test__/Domain/Pitch.test.ts on lines 288..290
    src/__test__/Domain/Pitch.test.ts on lines 292..294
    src/__test__/Domain/Pitch.test.ts on lines 296..298
    src/__test__/Domain/Pitch.test.ts on lines 300..302
    src/__test__/Domain/Pitch.test.ts on lines 304..306
    src/__test__/Domain/Pitch.test.ts on lines 308..310
    src/__test__/Domain/Pitch.test.ts on lines 312..314
    src/__test__/Domain/Pitch.test.ts on lines 316..318
    src/__test__/Domain/Pitch.test.ts on lines 320..322
    src/__test__/Domain/Pitch.test.ts on lines 328..330
    src/__test__/Domain/Pitch.test.ts on lines 332..334
    src/__test__/Domain/Pitch.test.ts on lines 336..338
    src/__test__/Domain/Pitch.test.ts on lines 340..342
    src/__test__/Domain/Pitch.test.ts on lines 344..346
    src/__test__/Domain/Pitch.test.ts on lines 348..350
    src/__test__/Domain/Pitch.test.ts on lines 352..354
    src/__test__/Domain/Pitch.test.ts on lines 356..358
    src/__test__/Domain/Pitch.test.ts on lines 360..362
    src/__test__/Domain/Pitch.test.ts on lines 364..366

    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 48.

    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 38 locations. Consider refactoring.
    Wontfix

        test('MajorSeventh from C to B', () => {
          expect(Pitch.C.transpose(Interval.MajorSeventh)).toBe(Pitch.B);
        });
    Severity: Major
    Found in src/__test__/Domain/Pitch.test.ts and 37 other locations - About 40 mins to fix
    src/__test__/Domain/Pitch.test.ts on lines 214..216
    src/__test__/Domain/Pitch.test.ts on lines 218..220
    src/__test__/Domain/Pitch.test.ts on lines 222..224
    src/__test__/Domain/Pitch.test.ts on lines 226..228
    src/__test__/Domain/Pitch.test.ts on lines 230..232
    src/__test__/Domain/Pitch.test.ts on lines 234..236
    src/__test__/Domain/Pitch.test.ts on lines 238..240
    src/__test__/Domain/Pitch.test.ts on lines 242..244
    src/__test__/Domain/Pitch.test.ts on lines 246..248
    src/__test__/Domain/Pitch.test.ts on lines 250..252
    src/__test__/Domain/Pitch.test.ts on lines 254..256
    src/__test__/Domain/Pitch.test.ts on lines 258..260
    src/__test__/Domain/Pitch.test.ts on lines 262..264
    src/__test__/Domain/Pitch.test.ts on lines 266..268
    src/__test__/Domain/Pitch.test.ts on lines 272..274
    src/__test__/Domain/Pitch.test.ts on lines 276..278
    src/__test__/Domain/Pitch.test.ts on lines 280..282
    src/__test__/Domain/Pitch.test.ts on lines 284..286
    src/__test__/Domain/Pitch.test.ts on lines 288..290
    src/__test__/Domain/Pitch.test.ts on lines 292..294
    src/__test__/Domain/Pitch.test.ts on lines 296..298
    src/__test__/Domain/Pitch.test.ts on lines 300..302
    src/__test__/Domain/Pitch.test.ts on lines 304..306
    src/__test__/Domain/Pitch.test.ts on lines 308..310
    src/__test__/Domain/Pitch.test.ts on lines 312..314
    src/__test__/Domain/Pitch.test.ts on lines 316..318
    src/__test__/Domain/Pitch.test.ts on lines 320..322
    src/__test__/Domain/Pitch.test.ts on lines 324..326
    src/__test__/Domain/Pitch.test.ts on lines 328..330
    src/__test__/Domain/Pitch.test.ts on lines 332..334
    src/__test__/Domain/Pitch.test.ts on lines 336..338
    src/__test__/Domain/Pitch.test.ts on lines 340..342
    src/__test__/Domain/Pitch.test.ts on lines 348..350
    src/__test__/Domain/Pitch.test.ts on lines 352..354
    src/__test__/Domain/Pitch.test.ts on lines 356..358
    src/__test__/Domain/Pitch.test.ts on lines 360..362
    src/__test__/Domain/Pitch.test.ts on lines 364..366

    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 48.

    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 38 locations. Consider refactoring.
    Wontfix

        test('minor seventh from C to B flat', () => {
          expect(Pitch.C.transpose(Interval.MinorSeventh)).toBe(Pitch.BFlat);
        });
    Severity: Major
    Found in src/__test__/Domain/Pitch.test.ts and 37 other locations - About 40 mins to fix
    src/__test__/Domain/Pitch.test.ts on lines 214..216
    src/__test__/Domain/Pitch.test.ts on lines 218..220
    src/__test__/Domain/Pitch.test.ts on lines 222..224
    src/__test__/Domain/Pitch.test.ts on lines 226..228
    src/__test__/Domain/Pitch.test.ts on lines 230..232
    src/__test__/Domain/Pitch.test.ts on lines 234..236
    src/__test__/Domain/Pitch.test.ts on lines 238..240
    src/__test__/Domain/Pitch.test.ts on lines 242..244
    src/__test__/Domain/Pitch.test.ts on lines 246..248
    src/__test__/Domain/Pitch.test.ts on lines 250..252
    src/__test__/Domain/Pitch.test.ts on lines 254..256
    src/__test__/Domain/Pitch.test.ts on lines 258..260
    src/__test__/Domain/Pitch.test.ts on lines 262..264
    src/__test__/Domain/Pitch.test.ts on lines 266..268
    src/__test__/Domain/Pitch.test.ts on lines 272..274
    src/__test__/Domain/Pitch.test.ts on lines 276..278
    src/__test__/Domain/Pitch.test.ts on lines 280..282
    src/__test__/Domain/Pitch.test.ts on lines 284..286
    src/__test__/Domain/Pitch.test.ts on lines 288..290
    src/__test__/Domain/Pitch.test.ts on lines 292..294
    src/__test__/Domain/Pitch.test.ts on lines 296..298
    src/__test__/Domain/Pitch.test.ts on lines 300..302
    src/__test__/Domain/Pitch.test.ts on lines 304..306
    src/__test__/Domain/Pitch.test.ts on lines 308..310
    src/__test__/Domain/Pitch.test.ts on lines 312..314
    src/__test__/Domain/Pitch.test.ts on lines 316..318
    src/__test__/Domain/Pitch.test.ts on lines 320..322
    src/__test__/Domain/Pitch.test.ts on lines 324..326
    src/__test__/Domain/Pitch.test.ts on lines 328..330
    src/__test__/Domain/Pitch.test.ts on lines 332..334
    src/__test__/Domain/Pitch.test.ts on lines 336..338
    src/__test__/Domain/Pitch.test.ts on lines 344..346
    src/__test__/Domain/Pitch.test.ts on lines 348..350
    src/__test__/Domain/Pitch.test.ts on lines 352..354
    src/__test__/Domain/Pitch.test.ts on lines 356..358
    src/__test__/Domain/Pitch.test.ts on lines 360..362
    src/__test__/Domain/Pitch.test.ts on lines 364..366

    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 48.

    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 38 locations. Consider refactoring.
    Wontfix

        test('minor third from G to Bb', () => {
          expect(Pitch.G.transpose(Interval.MinorThird)).toBe(Pitch.BFlat);
        });
    Severity: Major
    Found in src/__test__/Domain/Pitch.test.ts and 37 other locations - About 40 mins to fix
    src/__test__/Domain/Pitch.test.ts on lines 214..216
    src/__test__/Domain/Pitch.test.ts on lines 218..220
    src/__test__/Domain/Pitch.test.ts on lines 222..224
    src/__test__/Domain/Pitch.test.ts on lines 226..228
    src/__test__/Domain/Pitch.test.ts on lines 230..232
    src/__test__/Domain/Pitch.test.ts on lines 234..236
    src/__test__/Domain/Pitch.test.ts on lines 238..240
    src/__test__/Domain/Pitch.test.ts on lines 242..244
    src/__test__/Domain/Pitch.test.ts on lines 246..248
    src/__test__/Domain/Pitch.test.ts on lines 250..252
    src/__test__/Domain/Pitch.test.ts on lines 254..256
    src/__test__/Domain/Pitch.test.ts on lines 258..260
    src/__test__/Domain/Pitch.test.ts on lines 262..264
    src/__test__/Domain/Pitch.test.ts on lines 266..268
    src/__test__/Domain/Pitch.test.ts on lines 272..274
    src/__test__/Domain/Pitch.test.ts on lines 276..278
    src/__test__/Domain/Pitch.test.ts on lines 280..282
    src/__test__/Domain/Pitch.test.ts on lines 284..286
    src/__test__/Domain/Pitch.test.ts on lines 288..290
    src/__test__/Domain/Pitch.test.ts on lines 292..294
    src/__test__/Domain/Pitch.test.ts on lines 296..298
    src/__test__/Domain/Pitch.test.ts on lines 300..302
    src/__test__/Domain/Pitch.test.ts on lines 304..306
    src/__test__/Domain/Pitch.test.ts on lines 308..310
    src/__test__/Domain/Pitch.test.ts on lines 312..314
    src/__test__/Domain/Pitch.test.ts on lines 316..318
    src/__test__/Domain/Pitch.test.ts on lines 320..322
    src/__test__/Domain/Pitch.test.ts on lines 324..326
    src/__test__/Domain/Pitch.test.ts on lines 328..330
    src/__test__/Domain/Pitch.test.ts on lines 332..334
    src/__test__/Domain/Pitch.test.ts on lines 336..338
    src/__test__/Domain/Pitch.test.ts on lines 340..342
    src/__test__/Domain/Pitch.test.ts on lines 344..346
    src/__test__/Domain/Pitch.test.ts on lines 348..350
    src/__test__/Domain/Pitch.test.ts on lines 352..354
    src/__test__/Domain/Pitch.test.ts on lines 356..358
    src/__test__/Domain/Pitch.test.ts on lines 364..366

    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 48.

    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.
    Wontfix

                  case Interval.DiminishedSeventh:
                    if (
                      resultingInterval === Interval.MajorSixth ||
                      resultingInterval === Interval.DiminishedSeventh
                    )
    Severity: Minor
    Found in src/__test__/Domain/Pitch.test.ts and 2 other locations - About 40 mins to fix
    src/__test__/Domain/Pitch.test.ts on lines 504..510
    src/__test__/Domain/Pitch.test.ts on lines 523..529

    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 48.

    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.
    Wontfix

                  case Interval.AugmentedFourth:
                    if (
                      resultingInterval === Interval.AugmentedFourth ||
                      resultingInterval === Interval.DiminishedFifth
                    )
    Severity: Minor
    Found in src/__test__/Domain/Pitch.test.ts and 2 other locations - About 40 mins to fix
    src/__test__/Domain/Pitch.test.ts on lines 495..501
    src/__test__/Domain/Pitch.test.ts on lines 504..510

    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 48.

    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.
    Wontfix

                  case Interval.AugmentedSecond:
                    if (
                      resultingInterval === Interval.MinorThird ||
                      resultingInterval === Interval.AugmentedSecond
                    )
    Severity: Minor
    Found in src/__test__/Domain/Pitch.test.ts and 2 other locations - About 40 mins to fix
    src/__test__/Domain/Pitch.test.ts on lines 495..501
    src/__test__/Domain/Pitch.test.ts on lines 523..529

    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 48.

    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 38 locations. Consider refactoring.
    Wontfix

        test('C and F sharp as AugmentedFourth', () => {
          expect(Pitch.C.intervalTo(Pitch.FSharp)).toBe(Interval.AugmentedFourth);
        });
    Severity: Major
    Found in src/__test__/Domain/Pitch.test.ts and 37 other locations - About 40 mins to fix
    src/__test__/Domain/Pitch.test.ts on lines 214..216
    src/__test__/Domain/Pitch.test.ts on lines 218..220
    src/__test__/Domain/Pitch.test.ts on lines 222..224
    src/__test__/Domain/Pitch.test.ts on lines 226..228
    src/__test__/Domain/Pitch.test.ts on lines 230..232
    src/__test__/Domain/Pitch.test.ts on lines 238..240
    src/__test__/Domain/Pitch.test.ts on lines 242..244
    src/__test__/Domain/Pitch.test.ts on lines 246..248
    src/__test__/Domain/Pitch.test.ts on lines 250..252
    src/__test__/Domain/Pitch.test.ts on lines 254..256
    src/__test__/Domain/Pitch.test.ts on lines 258..260
    src/__test__/Domain/Pitch.test.ts on lines 262..264
    src/__test__/Domain/Pitch.test.ts on lines 266..268
    src/__test__/Domain/Pitch.test.ts on lines 272..274
    src/__test__/Domain/Pitch.test.ts on lines 276..278
    src/__test__/Domain/Pitch.test.ts on lines 280..282
    src/__test__/Domain/Pitch.test.ts on lines 284..286
    src/__test__/Domain/Pitch.test.ts on lines 288..290
    src/__test__/Domain/Pitch.test.ts on lines 292..294
    src/__test__/Domain/Pitch.test.ts on lines 296..298
    src/__test__/Domain/Pitch.test.ts on lines 300..302
    src/__test__/Domain/Pitch.test.ts on lines 304..306
    src/__test__/Domain/Pitch.test.ts on lines 308..310
    src/__test__/Domain/Pitch.test.ts on lines 312..314
    src/__test__/Domain/Pitch.test.ts on lines 316..318
    src/__test__/Domain/Pitch.test.ts on lines 320..322
    src/__test__/Domain/Pitch.test.ts on lines 324..326
    src/__test__/Domain/Pitch.test.ts on lines 328..330
    src/__test__/Domain/Pitch.test.ts on lines 332..334
    src/__test__/Domain/Pitch.test.ts on lines 336..338
    src/__test__/Domain/Pitch.test.ts on lines 340..342
    src/__test__/Domain/Pitch.test.ts on lines 344..346
    src/__test__/Domain/Pitch.test.ts on lines 348..350
    src/__test__/Domain/Pitch.test.ts on lines 352..354
    src/__test__/Domain/Pitch.test.ts on lines 356..358
    src/__test__/Domain/Pitch.test.ts on lines 360..362
    src/__test__/Domain/Pitch.test.ts on lines 364..366

    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 48.

    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 38 locations. Consider refactoring.
    Wontfix

        test('DiminishedFifth from C to G flat', () => {
          expect(Pitch.C.transpose(Interval.DiminishedFifth)).toBe(Pitch.GFlat);
        });
    Severity: Major
    Found in src/__test__/Domain/Pitch.test.ts and 37 other locations - About 40 mins to fix
    src/__test__/Domain/Pitch.test.ts on lines 214..216
    src/__test__/Domain/Pitch.test.ts on lines 218..220
    src/__test__/Domain/Pitch.test.ts on lines 222..224
    src/__test__/Domain/Pitch.test.ts on lines 226..228
    src/__test__/Domain/Pitch.test.ts on lines 230..232
    src/__test__/Domain/Pitch.test.ts on lines 234..236
    src/__test__/Domain/Pitch.test.ts on lines 238..240
    src/__test__/Domain/Pitch.test.ts on lines 242..244
    src/__test__/Domain/Pitch.test.ts on lines 246..248
    src/__test__/Domain/Pitch.test.ts on lines 250..252
    src/__test__/Domain/Pitch.test.ts on lines 254..256
    src/__test__/Domain/Pitch.test.ts on lines 258..260
    src/__test__/Domain/Pitch.test.ts on lines 262..264
    src/__test__/Domain/Pitch.test.ts on lines 266..268
    src/__test__/Domain/Pitch.test.ts on lines 272..274
    src/__test__/Domain/Pitch.test.ts on lines 276..278
    src/__test__/Domain/Pitch.test.ts on lines 280..282
    src/__test__/Domain/Pitch.test.ts on lines 284..286
    src/__test__/Domain/Pitch.test.ts on lines 288..290
    src/__test__/Domain/Pitch.test.ts on lines 292..294
    src/__test__/Domain/Pitch.test.ts on lines 296..298
    src/__test__/Domain/Pitch.test.ts on lines 300..302
    src/__test__/Domain/Pitch.test.ts on lines 304..306
    src/__test__/Domain/Pitch.test.ts on lines 312..314
    src/__test__/Domain/Pitch.test.ts on lines 316..318
    src/__test__/Domain/Pitch.test.ts on lines 320..322
    src/__test__/Domain/Pitch.test.ts on lines 324..326
    src/__test__/Domain/Pitch.test.ts on lines 328..330
    src/__test__/Domain/Pitch.test.ts on lines 332..334
    src/__test__/Domain/Pitch.test.ts on lines 336..338
    src/__test__/Domain/Pitch.test.ts on lines 340..342
    src/__test__/Domain/Pitch.test.ts on lines 344..346
    src/__test__/Domain/Pitch.test.ts on lines 348..350
    src/__test__/Domain/Pitch.test.ts on lines 352..354
    src/__test__/Domain/Pitch.test.ts on lines 356..358
    src/__test__/Domain/Pitch.test.ts on lines 360..362
    src/__test__/Domain/Pitch.test.ts on lines 364..366

    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 48.

    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 38 locations. Consider refactoring.
    Wontfix

        test('C and Db to minor second', () => {
          expect(Pitch.C.intervalTo(Pitch.DFlat)).toBe(Interval.MinorSecond);
        });
    Severity: Major
    Found in src/__test__/Domain/Pitch.test.ts and 37 other locations - About 40 mins to fix
    src/__test__/Domain/Pitch.test.ts on lines 218..220
    src/__test__/Domain/Pitch.test.ts on lines 222..224
    src/__test__/Domain/Pitch.test.ts on lines 226..228
    src/__test__/Domain/Pitch.test.ts on lines 230..232
    src/__test__/Domain/Pitch.test.ts on lines 234..236
    src/__test__/Domain/Pitch.test.ts on lines 238..240
    src/__test__/Domain/Pitch.test.ts on lines 242..244
    src/__test__/Domain/Pitch.test.ts on lines 246..248
    src/__test__/Domain/Pitch.test.ts on lines 250..252
    src/__test__/Domain/Pitch.test.ts on lines 254..256
    src/__test__/Domain/Pitch.test.ts on lines 258..260
    src/__test__/Domain/Pitch.test.ts on lines 262..264
    src/__test__/Domain/Pitch.test.ts on lines 266..268
    src/__test__/Domain/Pitch.test.ts on lines 272..274
    src/__test__/Domain/Pitch.test.ts on lines 276..278
    src/__test__/Domain/Pitch.test.ts on lines 280..282
    src/__test__/Domain/Pitch.test.ts on lines 284..286
    src/__test__/Domain/Pitch.test.ts on lines 288..290
    src/__test__/Domain/Pitch.test.ts on lines 292..294
    src/__test__/Domain/Pitch.test.ts on lines 296..298
    src/__test__/Domain/Pitch.test.ts on lines 300..302
    src/__test__/Domain/Pitch.test.ts on lines 304..306
    src/__test__/Domain/Pitch.test.ts on lines 308..310
    src/__test__/Domain/Pitch.test.ts on lines 312..314
    src/__test__/Domain/Pitch.test.ts on lines 316..318
    src/__test__/Domain/Pitch.test.ts on lines 320..322
    src/__test__/Domain/Pitch.test.ts on lines 324..326
    src/__test__/Domain/Pitch.test.ts on lines 328..330
    src/__test__/Domain/Pitch.test.ts on lines 332..334
    src/__test__/Domain/Pitch.test.ts on lines 336..338
    src/__test__/Domain/Pitch.test.ts on lines 340..342
    src/__test__/Domain/Pitch.test.ts on lines 344..346
    src/__test__/Domain/Pitch.test.ts on lines 348..350
    src/__test__/Domain/Pitch.test.ts on lines 352..354
    src/__test__/Domain/Pitch.test.ts on lines 356..358
    src/__test__/Domain/Pitch.test.ts on lines 360..362
    src/__test__/Domain/Pitch.test.ts on lines 364..366

    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 48.

    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 38 locations. Consider refactoring.
    Wontfix

        test('C and F as PerfectFourth', () => {
          expect(Pitch.C.intervalTo(Pitch.F)).toBe(Interval.PerfectFourth);
        });
    Severity: Major
    Found in src/__test__/Domain/Pitch.test.ts and 37 other locations - About 40 mins to fix
    src/__test__/Domain/Pitch.test.ts on lines 214..216
    src/__test__/Domain/Pitch.test.ts on lines 218..220
    src/__test__/Domain/Pitch.test.ts on lines 222..224
    src/__test__/Domain/Pitch.test.ts on lines 226..228
    src/__test__/Domain/Pitch.test.ts on lines 234..236
    src/__test__/Domain/Pitch.test.ts on lines 238..240
    src/__test__/Domain/Pitch.test.ts on lines 242..244
    src/__test__/Domain/Pitch.test.ts on lines 246..248
    src/__test__/Domain/Pitch.test.ts on lines 250..252
    src/__test__/Domain/Pitch.test.ts on lines 254..256
    src/__test__/Domain/Pitch.test.ts on lines 258..260
    src/__test__/Domain/Pitch.test.ts on lines 262..264
    src/__test__/Domain/Pitch.test.ts on lines 266..268
    src/__test__/Domain/Pitch.test.ts on lines 272..274
    src/__test__/Domain/Pitch.test.ts on lines 276..278
    src/__test__/Domain/Pitch.test.ts on lines 280..282
    src/__test__/Domain/Pitch.test.ts on lines 284..286
    src/__test__/Domain/Pitch.test.ts on lines 288..290
    src/__test__/Domain/Pitch.test.ts on lines 292..294
    src/__test__/Domain/Pitch.test.ts on lines 296..298
    src/__test__/Domain/Pitch.test.ts on lines 300..302
    src/__test__/Domain/Pitch.test.ts on lines 304..306
    src/__test__/Domain/Pitch.test.ts on lines 308..310
    src/__test__/Domain/Pitch.test.ts on lines 312..314
    src/__test__/Domain/Pitch.test.ts on lines 316..318
    src/__test__/Domain/Pitch.test.ts on lines 320..322
    src/__test__/Domain/Pitch.test.ts on lines 324..326
    src/__test__/Domain/Pitch.test.ts on lines 328..330
    src/__test__/Domain/Pitch.test.ts on lines 332..334
    src/__test__/Domain/Pitch.test.ts on lines 336..338
    src/__test__/Domain/Pitch.test.ts on lines 340..342
    src/__test__/Domain/Pitch.test.ts on lines 344..346
    src/__test__/Domain/Pitch.test.ts on lines 348..350
    src/__test__/Domain/Pitch.test.ts on lines 352..354
    src/__test__/Domain/Pitch.test.ts on lines 356..358
    src/__test__/Domain/Pitch.test.ts on lines 360..362
    src/__test__/Domain/Pitch.test.ts on lines 364..366

    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 48.

    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 38 locations. Consider refactoring.
    Wontfix

        test('C and B as MajorSeventh', () => {
          expect(Pitch.C.intervalTo(Pitch.B)).toBe(Interval.MajorSeventh);
        });
    Severity: Major
    Found in src/__test__/Domain/Pitch.test.ts and 37 other locations - About 40 mins to fix
    src/__test__/Domain/Pitch.test.ts on lines 214..216
    src/__test__/Domain/Pitch.test.ts on lines 218..220
    src/__test__/Domain/Pitch.test.ts on lines 222..224
    src/__test__/Domain/Pitch.test.ts on lines 226..228
    src/__test__/Domain/Pitch.test.ts on lines 230..232
    src/__test__/Domain/Pitch.test.ts on lines 234..236
    src/__test__/Domain/Pitch.test.ts on lines 238..240
    src/__test__/Domain/Pitch.test.ts on lines 242..244
    src/__test__/Domain/Pitch.test.ts on lines 246..248
    src/__test__/Domain/Pitch.test.ts on lines 250..252
    src/__test__/Domain/Pitch.test.ts on lines 254..256
    src/__test__/Domain/Pitch.test.ts on lines 258..260
    src/__test__/Domain/Pitch.test.ts on lines 266..268
    src/__test__/Domain/Pitch.test.ts on lines 272..274
    src/__test__/Domain/Pitch.test.ts on lines 276..278
    src/__test__/Domain/Pitch.test.ts on lines 280..282
    src/__test__/Domain/Pitch.test.ts on lines 284..286
    src/__test__/Domain/Pitch.test.ts on lines 288..290
    src/__test__/Domain/Pitch.test.ts on lines 292..294
    src/__test__/Domain/Pitch.test.ts on lines 296..298
    src/__test__/Domain/Pitch.test.ts on lines 300..302
    src/__test__/Domain/Pitch.test.ts on lines 304..306
    src/__test__/Domain/Pitch.test.ts on lines 308..310
    src/__test__/Domain/Pitch.test.ts on lines 312..314
    src/__test__/Domain/Pitch.test.ts on lines 316..318
    src/__test__/Domain/Pitch.test.ts on lines 320..322
    src/__test__/Domain/Pitch.test.ts on lines 324..326
    src/__test__/Domain/Pitch.test.ts on lines 328..330
    src/__test__/Domain/Pitch.test.ts on lines 332..334
    src/__test__/Domain/Pitch.test.ts on lines 336..338
    src/__test__/Domain/Pitch.test.ts on lines 340..342
    src/__test__/Domain/Pitch.test.ts on lines 344..346
    src/__test__/Domain/Pitch.test.ts on lines 348..350
    src/__test__/Domain/Pitch.test.ts on lines 352..354
    src/__test__/Domain/Pitch.test.ts on lines 356..358
    src/__test__/Domain/Pitch.test.ts on lines 360..362
    src/__test__/Domain/Pitch.test.ts on lines 364..366

    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 48.

    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 38 locations. Consider refactoring.
    Wontfix

        test('C and G flat as DiminishedFifth', () => {
          expect(Pitch.C.intervalTo(Pitch.GFlat)).toBe(Interval.DiminishedFifth);
        });
    Severity: Major
    Found in src/__test__/Domain/Pitch.test.ts and 37 other locations - About 40 mins to fix
    src/__test__/Domain/Pitch.test.ts on lines 214..216
    src/__test__/Domain/Pitch.test.ts on lines 218..220
    src/__test__/Domain/Pitch.test.ts on lines 222..224
    src/__test__/Domain/Pitch.test.ts on lines 226..228
    src/__test__/Domain/Pitch.test.ts on lines 230..232
    src/__test__/Domain/Pitch.test.ts on lines 234..236
    src/__test__/Domain/Pitch.test.ts on lines 242..244
    src/__test__/Domain/Pitch.test.ts on lines 246..248
    src/__test__/Domain/Pitch.test.ts on lines 250..252
    src/__test__/Domain/Pitch.test.ts on lines 254..256
    src/__test__/Domain/Pitch.test.ts on lines 258..260
    src/__test__/Domain/Pitch.test.ts on lines 262..264
    src/__test__/Domain/Pitch.test.ts on lines 266..268
    src/__test__/Domain/Pitch.test.ts on lines 272..274
    src/__test__/Domain/Pitch.test.ts on lines 276..278
    src/__test__/Domain/Pitch.test.ts on lines 280..282
    src/__test__/Domain/Pitch.test.ts on lines 284..286
    src/__test__/Domain/Pitch.test.ts on lines 288..290
    src/__test__/Domain/Pitch.test.ts on lines 292..294
    src/__test__/Domain/Pitch.test.ts on lines 296..298
    src/__test__/Domain/Pitch.test.ts on lines 300..302
    src/__test__/Domain/Pitch.test.ts on lines 304..306
    src/__test__/Domain/Pitch.test.ts on lines 308..310
    src/__test__/Domain/Pitch.test.ts on lines 312..314
    src/__test__/Domain/Pitch.test.ts on lines 316..318
    src/__test__/Domain/Pitch.test.ts on lines 320..322
    src/__test__/Domain/Pitch.test.ts on lines 324..326
    src/__test__/Domain/Pitch.test.ts on lines 328..330
    src/__test__/Domain/Pitch.test.ts on lines 332..334
    src/__test__/Domain/Pitch.test.ts on lines 336..338
    src/__test__/Domain/Pitch.test.ts on lines 340..342
    src/__test__/Domain/Pitch.test.ts on lines 344..346
    src/__test__/Domain/Pitch.test.ts on lines 348..350
    src/__test__/Domain/Pitch.test.ts on lines 352..354
    src/__test__/Domain/Pitch.test.ts on lines 356..358
    src/__test__/Domain/Pitch.test.ts on lines 360..362
    src/__test__/Domain/Pitch.test.ts on lines 364..366

    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 48.

    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 38 locations. Consider refactoring.
    Wontfix

        test('augmented ninth from G to A#', () => {
          expect(Pitch.G.transpose(Interval.AugmentedNinth)).toBe(Pitch.ASharp);
        });
    Severity: Major
    Found in src/__test__/Domain/Pitch.test.ts and 37 other locations - About 40 mins to fix
    src/__test__/Domain/Pitch.test.ts on lines 214..216
    src/__test__/Domain/Pitch.test.ts on lines 218..220
    src/__test__/Domain/Pitch.test.ts on lines 222..224
    src/__test__/Domain/Pitch.test.ts on lines 226..228
    src/__test__/Domain/Pitch.test.ts on lines 230..232
    src/__test__/Domain/Pitch.test.ts on lines 234..236
    src/__test__/Domain/Pitch.test.ts on lines 238..240
    src/__test__/Domain/Pitch.test.ts on lines 242..244
    src/__test__/Domain/Pitch.test.ts on lines 246..248
    src/__test__/Domain/Pitch.test.ts on lines 250..252
    src/__test__/Domain/Pitch.test.ts on lines 254..256
    src/__test__/Domain/Pitch.test.ts on lines 258..260
    src/__test__/Domain/Pitch.test.ts on lines 262..264
    src/__test__/Domain/Pitch.test.ts on lines 266..268
    src/__test__/Domain/Pitch.test.ts on lines 272..274
    src/__test__/Domain/Pitch.test.ts on lines 276..278
    src/__test__/Domain/Pitch.test.ts on lines 280..282
    src/__test__/Domain/Pitch.test.ts on lines 284..286
    src/__test__/Domain/Pitch.test.ts on lines 288..290
    src/__test__/Domain/Pitch.test.ts on lines 292..294
    src/__test__/Domain/Pitch.test.ts on lines 296..298
    src/__test__/Domain/Pitch.test.ts on lines 300..302
    src/__test__/Domain/Pitch.test.ts on lines 304..306
    src/__test__/Domain/Pitch.test.ts on lines 308..310
    src/__test__/Domain/Pitch.test.ts on lines 312..314
    src/__test__/Domain/Pitch.test.ts on lines 316..318
    src/__test__/Domain/Pitch.test.ts on lines 320..322
    src/__test__/Domain/Pitch.test.ts on lines 324..326
    src/__test__/Domain/Pitch.test.ts on lines 328..330
    src/__test__/Domain/Pitch.test.ts on lines 332..334
    src/__test__/Domain/Pitch.test.ts on lines 336..338
    src/__test__/Domain/Pitch.test.ts on lines 340..342
    src/__test__/Domain/Pitch.test.ts on lines 344..346
    src/__test__/Domain/Pitch.test.ts on lines 352..354
    src/__test__/Domain/Pitch.test.ts on lines 356..358
    src/__test__/Domain/Pitch.test.ts on lines 360..362
    src/__test__/Domain/Pitch.test.ts on lines 364..366

    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 48.

    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 38 locations. Consider refactoring.
    Wontfix

        test('C and G sharp as AugmentedFifth', () => {
          expect(Pitch.C.intervalTo(Pitch.GSharp)).toBe(Interval.AugmentedFifth);
        });
    Severity: Major
    Found in src/__test__/Domain/Pitch.test.ts and 37 other locations - About 40 mins to fix
    src/__test__/Domain/Pitch.test.ts on lines 214..216
    src/__test__/Domain/Pitch.test.ts on lines 218..220
    src/__test__/Domain/Pitch.test.ts on lines 222..224
    src/__test__/Domain/Pitch.test.ts on lines 226..228
    src/__test__/Domain/Pitch.test.ts on lines 230..232
    src/__test__/Domain/Pitch.test.ts on lines 234..236
    src/__test__/Domain/Pitch.test.ts on lines 238..240
    src/__test__/Domain/Pitch.test.ts on lines 242..244
    src/__test__/Domain/Pitch.test.ts on lines 250..252
    src/__test__/Domain/Pitch.test.ts on lines 254..256
    src/__test__/Domain/Pitch.test.ts on lines 258..260
    src/__test__/Domain/Pitch.test.ts on lines 262..264
    src/__test__/Domain/Pitch.test.ts on lines 266..268
    src/__test__/Domain/Pitch.test.ts on lines 272..274
    src/__test__/Domain/Pitch.test.ts on lines 276..278
    src/__test__/Domain/Pitch.test.ts on lines 280..282
    src/__test__/Domain/Pitch.test.ts on lines 284..286
    src/__test__/Domain/Pitch.test.ts on lines 288..290
    src/__test__/Domain/Pitch.test.ts on lines 292..294
    src/__test__/Domain/Pitch.test.ts on lines 296..298
    src/__test__/Domain/Pitch.test.ts on lines 300..302
    src/__test__/Domain/Pitch.test.ts on lines 304..306
    src/__test__/Domain/Pitch.test.ts on lines 308..310
    src/__test__/Domain/Pitch.test.ts on lines 312..314
    src/__test__/Domain/Pitch.test.ts on lines 316..318
    src/__test__/Domain/Pitch.test.ts on lines 320..322
    src/__test__/Domain/Pitch.test.ts on lines 324..326
    src/__test__/Domain/Pitch.test.ts on lines 328..330
    src/__test__/Domain/Pitch.test.ts on lines 332..334
    src/__test__/Domain/Pitch.test.ts on lines 336..338
    src/__test__/Domain/Pitch.test.ts on lines 340..342
    src/__test__/Domain/Pitch.test.ts on lines 344..346
    src/__test__/Domain/Pitch.test.ts on lines 348..350
    src/__test__/Domain/Pitch.test.ts on lines 352..354
    src/__test__/Domain/Pitch.test.ts on lines 356..358
    src/__test__/Domain/Pitch.test.ts on lines 360..362
    src/__test__/Domain/Pitch.test.ts on lines 364..366

    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 48.

    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 38 locations. Consider refactoring.
    Wontfix

        test('C and A flat as MinorSixth', () => {
          expect(Pitch.C.intervalTo(Pitch.AFlat)).toBe(Interval.MinorSixth);
        });
    Severity: Major
    Found in src/__test__/Domain/Pitch.test.ts and 37 other locations - About 40 mins to fix
    src/__test__/Domain/Pitch.test.ts on lines 214..216
    src/__test__/Domain/Pitch.test.ts on lines 218..220
    src/__test__/Domain/Pitch.test.ts on lines 222..224
    src/__test__/Domain/Pitch.test.ts on lines 226..228
    src/__test__/Domain/Pitch.test.ts on lines 230..232
    src/__test__/Domain/Pitch.test.ts on lines 234..236
    src/__test__/Domain/Pitch.test.ts on lines 238..240
    src/__test__/Domain/Pitch.test.ts on lines 242..244
    src/__test__/Domain/Pitch.test.ts on lines 246..248
    src/__test__/Domain/Pitch.test.ts on lines 254..256
    src/__test__/Domain/Pitch.test.ts on lines 258..260
    src/__test__/Domain/Pitch.test.ts on lines 262..264
    src/__test__/Domain/Pitch.test.ts on lines 266..268
    src/__test__/Domain/Pitch.test.ts on lines 272..274
    src/__test__/Domain/Pitch.test.ts on lines 276..278
    src/__test__/Domain/Pitch.test.ts on lines 280..282
    src/__test__/Domain/Pitch.test.ts on lines 284..286
    src/__test__/Domain/Pitch.test.ts on lines 288..290
    src/__test__/Domain/Pitch.test.ts on lines 292..294
    src/__test__/Domain/Pitch.test.ts on lines 296..298
    src/__test__/Domain/Pitch.test.ts on lines 300..302
    src/__test__/Domain/Pitch.test.ts on lines 304..306
    src/__test__/Domain/Pitch.test.ts on lines 308..310
    src/__test__/Domain/Pitch.test.ts on lines 312..314
    src/__test__/Domain/Pitch.test.ts on lines 316..318
    src/__test__/Domain/Pitch.test.ts on lines 320..322
    src/__test__/Domain/Pitch.test.ts on lines 324..326
    src/__test__/Domain/Pitch.test.ts on lines 328..330
    src/__test__/Domain/Pitch.test.ts on lines 332..334
    src/__test__/Domain/Pitch.test.ts on lines 336..338
    src/__test__/Domain/Pitch.test.ts on lines 340..342
    src/__test__/Domain/Pitch.test.ts on lines 344..346
    src/__test__/Domain/Pitch.test.ts on lines 348..350
    src/__test__/Domain/Pitch.test.ts on lines 352..354
    src/__test__/Domain/Pitch.test.ts on lines 356..358
    src/__test__/Domain/Pitch.test.ts on lines 360..362
    src/__test__/Domain/Pitch.test.ts on lines 364..366

    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 48.

    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 38 locations. Consider refactoring.
    Wontfix

        test('AugmentedSecond from C to D sharp', () => {
          expect(Pitch.C.transpose(Interval.AugmentedSecond)).toBe(Pitch.DSharp);
        });
    Severity: Major
    Found in src/__test__/Domain/Pitch.test.ts and 37 other locations - About 40 mins to fix
    src/__test__/Domain/Pitch.test.ts on lines 214..216
    src/__test__/Domain/Pitch.test.ts on lines 218..220
    src/__test__/Domain/Pitch.test.ts on lines 222..224
    src/__test__/Domain/Pitch.test.ts on lines 226..228
    src/__test__/Domain/Pitch.test.ts on lines 230..232
    src/__test__/Domain/Pitch.test.ts on lines 234..236
    src/__test__/Domain/Pitch.test.ts on lines 238..240
    src/__test__/Domain/Pitch.test.ts on lines 242..244
    src/__test__/Domain/Pitch.test.ts on lines 246..248
    src/__test__/Domain/Pitch.test.ts on lines 250..252
    src/__test__/Domain/Pitch.test.ts on lines 254..256
    src/__test__/Domain/Pitch.test.ts on lines 258..260
    src/__test__/Domain/Pitch.test.ts on lines 262..264
    src/__test__/Domain/Pitch.test.ts on lines 266..268
    src/__test__/Domain/Pitch.test.ts on lines 272..274
    src/__test__/Domain/Pitch.test.ts on lines 276..278
    src/__test__/Domain/Pitch.test.ts on lines 280..282
    src/__test__/Domain/Pitch.test.ts on lines 284..286
    src/__test__/Domain/Pitch.test.ts on lines 292..294
    src/__test__/Domain/Pitch.test.ts on lines 296..298
    src/__test__/Domain/Pitch.test.ts on lines 300..302
    src/__test__/Domain/Pitch.test.ts on lines 304..306
    src/__test__/Domain/Pitch.test.ts on lines 308..310
    src/__test__/Domain/Pitch.test.ts on lines 312..314
    src/__test__/Domain/Pitch.test.ts on lines 316..318
    src/__test__/Domain/Pitch.test.ts on lines 320..322
    src/__test__/Domain/Pitch.test.ts on lines 324..326
    src/__test__/Domain/Pitch.test.ts on lines 328..330
    src/__test__/Domain/Pitch.test.ts on lines 332..334
    src/__test__/Domain/Pitch.test.ts on lines 336..338
    src/__test__/Domain/Pitch.test.ts on lines 340..342
    src/__test__/Domain/Pitch.test.ts on lines 344..346
    src/__test__/Domain/Pitch.test.ts on lines 348..350
    src/__test__/Domain/Pitch.test.ts on lines 352..354
    src/__test__/Domain/Pitch.test.ts on lines 356..358
    src/__test__/Domain/Pitch.test.ts on lines 360..362
    src/__test__/Domain/Pitch.test.ts on lines 364..366

    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 48.

    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 38 locations. Consider refactoring.
    Wontfix

        test('MinorThird from C to E flat', () => {
          expect(Pitch.C.transpose(Interval.MinorThird)).toBe(Pitch.EFlat);
        });
    Severity: Major
    Found in src/__test__/Domain/Pitch.test.ts and 37 other locations - About 40 mins to fix
    src/__test__/Domain/Pitch.test.ts on lines 214..216
    src/__test__/Domain/Pitch.test.ts on lines 218..220
    src/__test__/Domain/Pitch.test.ts on lines 222..224
    src/__test__/Domain/Pitch.test.ts on lines 226..228
    src/__test__/Domain/Pitch.test.ts on lines 230..232
    src/__test__/Domain/Pitch.test.ts on lines 234..236
    src/__test__/Domain/Pitch.test.ts on lines 238..240
    src/__test__/Domain/Pitch.test.ts on lines 242..244
    src/__test__/Domain/Pitch.test.ts on lines 246..248
    src/__test__/Domain/Pitch.test.ts on lines 250..252
    src/__test__/Domain/Pitch.test.ts on lines 254..256
    src/__test__/Domain/Pitch.test.ts on lines 258..260
    src/__test__/Domain/Pitch.test.ts on lines 262..264
    src/__test__/Domain/Pitch.test.ts on lines 266..268
    src/__test__/Domain/Pitch.test.ts on lines 272..274
    src/__test__/Domain/Pitch.test.ts on lines 276..278
    src/__test__/Domain/Pitch.test.ts on lines 280..282
    src/__test__/Domain/Pitch.test.ts on lines 284..286
    src/__test__/Domain/Pitch.test.ts on lines 288..290
    src/__test__/Domain/Pitch.test.ts on lines 296..298
    src/__test__/Domain/Pitch.test.ts on lines 300..302
    src/__test__/Domain/Pitch.test.ts on lines 304..306
    src/__test__/Domain/Pitch.test.ts on lines 308..310
    src/__test__/Domain/Pitch.test.ts on lines 312..314
    src/__test__/Domain/Pitch.test.ts on lines 316..318
    src/__test__/Domain/Pitch.test.ts on lines 320..322
    src/__test__/Domain/Pitch.test.ts on lines 324..326
    src/__test__/Domain/Pitch.test.ts on lines 328..330
    src/__test__/Domain/Pitch.test.ts on lines 332..334
    src/__test__/Domain/Pitch.test.ts on lines 336..338
    src/__test__/Domain/Pitch.test.ts on lines 340..342
    src/__test__/Domain/Pitch.test.ts on lines 344..346
    src/__test__/Domain/Pitch.test.ts on lines 348..350
    src/__test__/Domain/Pitch.test.ts on lines 352..354
    src/__test__/Domain/Pitch.test.ts on lines 356..358
    src/__test__/Domain/Pitch.test.ts on lines 360..362
    src/__test__/Domain/Pitch.test.ts on lines 364..366

    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 48.

    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 38 locations. Consider refactoring.
    Wontfix

        test('perfect eleventh from G to C', () => {
          expect(Pitch.G.transpose(Interval.PerfectEleventh)).toBe(Pitch.C);
        });
    Severity: Major
    Found in src/__test__/Domain/Pitch.test.ts and 37 other locations - About 40 mins to fix
    src/__test__/Domain/Pitch.test.ts on lines 214..216
    src/__test__/Domain/Pitch.test.ts on lines 218..220
    src/__test__/Domain/Pitch.test.ts on lines 222..224
    src/__test__/Domain/Pitch.test.ts on lines 226..228
    src/__test__/Domain/Pitch.test.ts on lines 230..232
    src/__test__/Domain/Pitch.test.ts on lines 234..236
    src/__test__/Domain/Pitch.test.ts on lines 238..240
    src/__test__/Domain/Pitch.test.ts on lines 242..244
    src/__test__/Domain/Pitch.test.ts on lines 246..248
    src/__test__/Domain/Pitch.test.ts on lines 250..252
    src/__test__/Domain/Pitch.test.ts on lines 254..256
    src/__test__/Domain/Pitch.test.ts on lines 258..260
    src/__test__/Domain/Pitch.test.ts on lines 262..264
    src/__test__/Domain/Pitch.test.ts on lines 266..268
    src/__test__/Domain/Pitch.test.ts on lines 272..274
    src/__test__/Domain/Pitch.test.ts on lines 276..278
    src/__test__/Domain/Pitch.test.ts on lines 280..282
    src/__test__/Domain/Pitch.test.ts on lines 284..286
    src/__test__/Domain/Pitch.test.ts on lines 288..290
    src/__test__/Domain/Pitch.test.ts on lines 292..294
    src/__test__/Domain/Pitch.test.ts on lines 296..298
    src/__test__/Domain/Pitch.test.ts on lines 300..302
    src/__test__/Domain/Pitch.test.ts on lines 304..306
    src/__test__/Domain/Pitch.test.ts on lines 308..310
    src/__test__/Domain/Pitch.test.ts on lines 312..314
    src/__test__/Domain/Pitch.test.ts on lines 316..318
    src/__test__/Domain/Pitch.test.ts on lines 320..322
    src/__test__/Domain/Pitch.test.ts on lines 324..326
    src/__test__/Domain/Pitch.test.ts on lines 328..330
    src/__test__/Domain/Pitch.test.ts on lines 332..334
    src/__test__/Domain/Pitch.test.ts on lines 336..338
    src/__test__/Domain/Pitch.test.ts on lines 340..342
    src/__test__/Domain/Pitch.test.ts on lines 344..346
    src/__test__/Domain/Pitch.test.ts on lines 348..350
    src/__test__/Domain/Pitch.test.ts on lines 356..358
    src/__test__/Domain/Pitch.test.ts on lines 360..362
    src/__test__/Domain/Pitch.test.ts on lines 364..366

    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 48.

    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 38 locations. Consider refactoring.
    Wontfix

        test('C and D as MajorSecond', () => {
          expect(Pitch.C.intervalTo(Pitch.D)).toBe(Interval.MajorSecond);
        });
    Severity: Major
    Found in src/__test__/Domain/Pitch.test.ts and 37 other locations - About 40 mins to fix
    src/__test__/Domain/Pitch.test.ts on lines 214..216
    src/__test__/Domain/Pitch.test.ts on lines 222..224
    src/__test__/Domain/Pitch.test.ts on lines 226..228
    src/__test__/Domain/Pitch.test.ts on lines 230..232
    src/__test__/Domain/Pitch.test.ts on lines 234..236
    src/__test__/Domain/Pitch.test.ts on lines 238..240
    src/__test__/Domain/Pitch.test.ts on lines 242..244
    src/__test__/Domain/Pitch.test.ts on lines 246..248
    src/__test__/Domain/Pitch.test.ts on lines 250..252
    src/__test__/Domain/Pitch.test.ts on lines 254..256
    src/__test__/Domain/Pitch.test.ts on lines 258..260
    src/__test__/Domain/Pitch.test.ts on lines 262..264
    src/__test__/Domain/Pitch.test.ts on lines 266..268
    src/__test__/Domain/Pitch.test.ts on lines 272..274
    src/__test__/Domain/Pitch.test.ts on lines 276..278
    src/__test__/Domain/Pitch.test.ts on lines 280..282
    src/__test__/Domain/Pitch.test.ts on lines 284..286
    src/__test__/Domain/Pitch.test.ts on lines 288..290
    src/__test__/Domain/Pitch.test.ts on lines 292..294
    src/__test__/Domain/Pitch.test.ts on lines 296..298
    src/__test__/Domain/Pitch.test.ts on lines 300..302
    src/__test__/Domain/Pitch.test.ts on lines 304..306
    src/__test__/Domain/Pitch.test.ts on lines 308..310
    src/__test__/Domain/Pitch.test.ts on lines 312..314
    src/__test__/Domain/Pitch.test.ts on lines 316..318
    src/__test__/Domain/Pitch.test.ts on lines 320..322
    src/__test__/Domain/Pitch.test.ts on lines 324..326
    src/__test__/Domain/Pitch.test.ts on lines 328..330
    src/__test__/Domain/Pitch.test.ts on lines 332..334
    src/__test__/Domain/Pitch.test.ts on lines 336..338
    src/__test__/Domain/Pitch.test.ts on lines 340..342
    src/__test__/Domain/Pitch.test.ts on lines 344..346
    src/__test__/Domain/Pitch.test.ts on lines 348..350
    src/__test__/Domain/Pitch.test.ts on lines 352..354
    src/__test__/Domain/Pitch.test.ts on lines 356..358
    src/__test__/Domain/Pitch.test.ts on lines 360..362
    src/__test__/Domain/Pitch.test.ts on lines 364..366

    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 48.

    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 38 locations. Consider refactoring.
    Wontfix

        test('D and F as MinorThird', () => {
          expect(Pitch.D.intervalTo(Pitch.F)).toBe(Interval.MinorThird);
        });
    Severity: Major
    Found in src/__test__/Domain/Pitch.test.ts and 37 other locations - About 40 mins to fix
    src/__test__/Domain/Pitch.test.ts on lines 214..216
    src/__test__/Domain/Pitch.test.ts on lines 218..220
    src/__test__/Domain/Pitch.test.ts on lines 222..224
    src/__test__/Domain/Pitch.test.ts on lines 226..228
    src/__test__/Domain/Pitch.test.ts on lines 230..232
    src/__test__/Domain/Pitch.test.ts on lines 234..236
    src/__test__/Domain/Pitch.test.ts on lines 238..240
    src/__test__/Domain/Pitch.test.ts on lines 242..244
    src/__test__/Domain/Pitch.test.ts on lines 246..248
    src/__test__/Domain/Pitch.test.ts on lines 250..252
    src/__test__/Domain/Pitch.test.ts on lines 254..256
    src/__test__/Domain/Pitch.test.ts on lines 258..260
    src/__test__/Domain/Pitch.test.ts on lines 262..264
    src/__test__/Domain/Pitch.test.ts on lines 272..274
    src/__test__/Domain/Pitch.test.ts on lines 276..278
    src/__test__/Domain/Pitch.test.ts on lines 280..282
    src/__test__/Domain/Pitch.test.ts on lines 284..286
    src/__test__/Domain/Pitch.test.ts on lines 288..290
    src/__test__/Domain/Pitch.test.ts on lines 292..294
    src/__test__/Domain/Pitch.test.ts on lines 296..298
    src/__test__/Domain/Pitch.test.ts on lines 300..302
    src/__test__/Domain/Pitch.test.ts on lines 304..306
    src/__test__/Domain/Pitch.test.ts on lines 308..310
    src/__test__/Domain/Pitch.test.ts on lines 312..314
    src/__test__/Domain/Pitch.test.ts on lines 316..318
    src/__test__/Domain/Pitch.test.ts on lines 320..322
    src/__test__/Domain/Pitch.test.ts on lines 324..326
    src/__test__/Domain/Pitch.test.ts on lines 328..330
    src/__test__/Domain/Pitch.test.ts on lines 332..334
    src/__test__/Domain/Pitch.test.ts on lines 336..338
    src/__test__/Domain/Pitch.test.ts on lines 340..342
    src/__test__/Domain/Pitch.test.ts on lines 344..346
    src/__test__/Domain/Pitch.test.ts on lines 348..350
    src/__test__/Domain/Pitch.test.ts on lines 352..354
    src/__test__/Domain/Pitch.test.ts on lines 356..358
    src/__test__/Domain/Pitch.test.ts on lines 360..362
    src/__test__/Domain/Pitch.test.ts on lines 364..366

    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 48.

    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

    There are no issues that match your filters.

    Category
    Status