pedromsantos/glenn

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

Summary

Maintainability
A
0 mins
Test Coverage

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

import * as fc from 'fast-check';

import { ChordPattern, ClosedChord } from '../../Domain/Chord';
import { Duration } from '../../Domain/Duration';
import { Interval, IntervalDirection } from '../../Domain/Interval';
Severity: Minor
Found in src/__test__/Domain/Note.test.ts - About 3 hrs to fix

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

      test('should go down in frequency', () => {
        expect(Octave.C8.down().down().down().down().down().down().down().down().down()).toBe(
          Octave.C0
        );
      });
    Severity: Major
    Found in src/__test__/Domain/Note.test.ts and 1 other location - About 3 hrs to fix
    src/__test__/Domain/Note.test.ts on lines 362..364

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

    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('should go up in frequency', () => {
        expect(Octave.C0.up().up().up().up().up().up().up().up().up()).toBe(Octave.C8);
      });
    Severity: Major
    Found in src/__test__/Domain/Note.test.ts and 1 other location - About 3 hrs to fix
    src/__test__/Domain/Note.test.ts on lines 366..370

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

    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('does not have a note', () => {
        const rest = new Rest(Duration.Quarter);
    
        expect([...rest.Notes]).toHaveLength(0);
        expect([...rest.MidiNumbers]).toHaveLength(0);
    Severity: Major
    Found in src/__test__/Domain/Note.test.ts and 1 other location - About 1 hr to fix
    src/__test__/Domain/Note.test.ts on lines 24..29

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

    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('does not have an octave', () => {
        const rest = new Rest(Duration.Quarter);
    
        expect([...rest.Octaves]).toHaveLength(0);
        expect([...rest.OctaveNames]).toHaveLength(0);
    Severity: Major
    Found in src/__test__/Domain/Note.test.ts and 1 other location - About 1 hr to fix
    src/__test__/Domain/Note.test.ts on lines 31..36

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

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

        test('D minor', () => {
          const chord = new ClosedChord(Pitch.D, ChordPattern.Minor, Duration.Quarter, Octave.C4);
    
          expect(note.isChordToneOf(chord)).toBeFalsy();
        });
    Severity: Major
    Found in src/__test__/Domain/Note.test.ts and 3 other locations - About 1 hr to fix
    src/__test__/Domain/Note.test.ts on lines 291..295
    src/__test__/Domain/Note.test.ts on lines 297..301
    src/__test__/Domain/Note.test.ts on lines 303..307

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

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

        test('D minor 7', () => {
          const chord = new ClosedChord(Pitch.D, ChordPattern.Minor7, Duration.Quarter, Octave.C4);
    
          expect(note.isChordToneOf(chord)).toBeTruthy();
        });
    Severity: Major
    Found in src/__test__/Domain/Note.test.ts and 3 other locations - About 1 hr to fix
    src/__test__/Domain/Note.test.ts on lines 291..295
    src/__test__/Domain/Note.test.ts on lines 297..301
    src/__test__/Domain/Note.test.ts on lines 313..317

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

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

      test('Eb1 to be a minor third', () => {
        const secondNote = new Note(Pitch.EFlat, Duration.Quarter, Octave.C1);
    
        expect(firstNote.intervalTo(secondNote)).toStrictEqual(Interval.MinorThird);
      });
    Severity: Major
    Found in src/__test__/Domain/Note.test.ts and 5 other locations - About 1 hr to fix
    src/__test__/Domain/Note.test.ts on lines 324..328
    src/__test__/Domain/Note.test.ts on lines 336..340
    src/__test__/Domain/Note.test.ts on lines 342..346
    src/__test__/Domain/Note.test.ts on lines 348..352
    src/__test__/Domain/Note.test.ts on lines 354..358

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

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

      test('C1 to be a unison', () => {
        const secondNote = new Note(Pitch.C, Duration.Quarter, Octave.C1);
    
        expect(firstNote.intervalTo(secondNote)).toStrictEqual(Interval.Unison);
      });
    Severity: Major
    Found in src/__test__/Domain/Note.test.ts and 5 other locations - About 1 hr to fix
    src/__test__/Domain/Note.test.ts on lines 324..328
    src/__test__/Domain/Note.test.ts on lines 330..334
    src/__test__/Domain/Note.test.ts on lines 342..346
    src/__test__/Domain/Note.test.ts on lines 348..352
    src/__test__/Domain/Note.test.ts on lines 354..358

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

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

        test('C Major', () => {
          const chord = new ClosedChord(Pitch.C, ChordPattern.Major, Duration.Quarter, Octave.C4);
    
          expect(note.isChordToneOf(chord)).toBeTruthy();
        });
    Severity: Major
    Found in src/__test__/Domain/Note.test.ts and 3 other locations - About 1 hr to fix
    src/__test__/Domain/Note.test.ts on lines 297..301
    src/__test__/Domain/Note.test.ts on lines 303..307
    src/__test__/Domain/Note.test.ts on lines 313..317

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

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

        test('A minor 6', () => {
          const chord = new ClosedChord(Pitch.A, ChordPattern.Minor6, Duration.Quarter, Octave.C4);
    
          expect(note.isChordToneOf(chord)).toBeTruthy();
        });
    Severity: Major
    Found in src/__test__/Domain/Note.test.ts and 3 other locations - About 1 hr to fix
    src/__test__/Domain/Note.test.ts on lines 291..295
    src/__test__/Domain/Note.test.ts on lines 303..307
    src/__test__/Domain/Note.test.ts on lines 313..317

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

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

      test('F2 to be an eleventh', () => {
        const secondNote = new Note(Pitch.F, Duration.Quarter, Octave.C2);
    
        expect(firstNote.intervalTo(secondNote)).toStrictEqual(Interval.PerfectEleventh);
      });
    Severity: Major
    Found in src/__test__/Domain/Note.test.ts and 5 other locations - About 1 hr to fix
    src/__test__/Domain/Note.test.ts on lines 324..328
    src/__test__/Domain/Note.test.ts on lines 330..334
    src/__test__/Domain/Note.test.ts on lines 336..340
    src/__test__/Domain/Note.test.ts on lines 342..346
    src/__test__/Domain/Note.test.ts on lines 354..358

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

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

      test('D1 to be a major second', () => {
        const secondNote = new Note(Pitch.D, Duration.Quarter, Octave.C1);
    
        expect(firstNote.intervalTo(secondNote)).toStrictEqual(Interval.MajorSecond);
      });
    Severity: Major
    Found in src/__test__/Domain/Note.test.ts and 5 other locations - About 1 hr to fix
    src/__test__/Domain/Note.test.ts on lines 330..334
    src/__test__/Domain/Note.test.ts on lines 336..340
    src/__test__/Domain/Note.test.ts on lines 342..346
    src/__test__/Domain/Note.test.ts on lines 348..352
    src/__test__/Domain/Note.test.ts on lines 354..358

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

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

      test('C2 to be an octave', () => {
        const secondNote = new Note(Pitch.C, Duration.Quarter, Octave.C2);
    
        expect(firstNote.intervalTo(secondNote)).toStrictEqual(Interval.PerfectOctave);
      });
    Severity: Major
    Found in src/__test__/Domain/Note.test.ts and 5 other locations - About 1 hr to fix
    src/__test__/Domain/Note.test.ts on lines 324..328
    src/__test__/Domain/Note.test.ts on lines 330..334
    src/__test__/Domain/Note.test.ts on lines 336..340
    src/__test__/Domain/Note.test.ts on lines 348..352
    src/__test__/Domain/Note.test.ts on lines 354..358

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

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

      test('F#2 to be a sharp eleventh', () => {
        const secondNote = new Note(Pitch.FSharp, Duration.Quarter, Octave.C2);
    
        expect(firstNote.intervalTo(secondNote)).toStrictEqual(Interval.AugmentedEleventh);
      });
    Severity: Major
    Found in src/__test__/Domain/Note.test.ts and 5 other locations - About 1 hr to fix
    src/__test__/Domain/Note.test.ts on lines 324..328
    src/__test__/Domain/Note.test.ts on lines 330..334
    src/__test__/Domain/Note.test.ts on lines 336..340
    src/__test__/Domain/Note.test.ts on lines 342..346
    src/__test__/Domain/Note.test.ts on lines 348..352

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

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

        test('C and E flat as MinorThird', () => {
          expect(note.intervalTo(new Note(Pitch.EFlat, Duration.Quarter, Octave.C1))).toBe(
            Interval.MinorThird
          );
        });
    Severity: Major
    Found in src/__test__/Domain/Note.test.ts and 21 other locations - About 1 hr to fix
    src/__test__/Domain/Note.test.ts on lines 111..115
    src/__test__/Domain/Note.test.ts on lines 117..121
    src/__test__/Domain/Note.test.ts on lines 129..133
    src/__test__/Domain/Note.test.ts on lines 135..139
    src/__test__/Domain/Note.test.ts on lines 141..145
    src/__test__/Domain/Note.test.ts on lines 147..151
    src/__test__/Domain/Note.test.ts on lines 153..157
    src/__test__/Domain/Note.test.ts on lines 159..163
    src/__test__/Domain/Note.test.ts on lines 165..169
    src/__test__/Domain/Note.test.ts on lines 171..175
    src/__test__/Domain/Note.test.ts on lines 177..181
    src/__test__/Domain/Note.test.ts on lines 183..187
    src/__test__/Domain/Note.test.ts on lines 193..197
    src/__test__/Domain/Note.test.ts on lines 199..203
    src/__test__/Domain/Note.test.ts on lines 205..209
    src/__test__/Domain/Note.test.ts on lines 211..215
    src/__test__/Domain/Note.test.ts on lines 217..221
    src/__test__/Domain/Note.test.ts on lines 223..227
    src/__test__/Domain/Note.test.ts on lines 229..233
    src/__test__/Domain/Note.test.ts on lines 235..239
    src/__test__/Domain/Note.test.ts on lines 241..245

    Duplicated Code

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

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

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

    Tuning

    This issue has a mass of 58.

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

        test('C to be descending', () => {
          expect(note.intervalDirection(new Note(Pitch.C, Duration.Quarter, Octave.C1))).toBe(
            IntervalDirection.Descending
          );
        });
    Severity: Major
    Found in src/__test__/Domain/Note.test.ts and 21 other locations - About 1 hr to fix
    src/__test__/Domain/Note.test.ts on lines 111..115
    src/__test__/Domain/Note.test.ts on lines 117..121
    src/__test__/Domain/Note.test.ts on lines 123..127
    src/__test__/Domain/Note.test.ts on lines 129..133
    src/__test__/Domain/Note.test.ts on lines 135..139
    src/__test__/Domain/Note.test.ts on lines 141..145
    src/__test__/Domain/Note.test.ts on lines 147..151
    src/__test__/Domain/Note.test.ts on lines 153..157
    src/__test__/Domain/Note.test.ts on lines 159..163
    src/__test__/Domain/Note.test.ts on lines 165..169
    src/__test__/Domain/Note.test.ts on lines 171..175
    src/__test__/Domain/Note.test.ts on lines 177..181
    src/__test__/Domain/Note.test.ts on lines 183..187
    src/__test__/Domain/Note.test.ts on lines 199..203
    src/__test__/Domain/Note.test.ts on lines 205..209
    src/__test__/Domain/Note.test.ts on lines 211..215
    src/__test__/Domain/Note.test.ts on lines 217..221
    src/__test__/Domain/Note.test.ts on lines 223..227
    src/__test__/Domain/Note.test.ts on lines 229..233
    src/__test__/Domain/Note.test.ts on lines 235..239
    src/__test__/Domain/Note.test.ts on lines 241..245

    Duplicated Code

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

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

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

    Tuning

    This issue has a mass of 58.

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

        test('F to be descending', () => {
          expect(note.intervalDirection(new Note(Pitch.F, Duration.Quarter, Octave.C1))).toBe(
            IntervalDirection.Descending
          );
        });
    Severity: Major
    Found in src/__test__/Domain/Note.test.ts and 21 other locations - About 1 hr to fix
    src/__test__/Domain/Note.test.ts on lines 111..115
    src/__test__/Domain/Note.test.ts on lines 117..121
    src/__test__/Domain/Note.test.ts on lines 123..127
    src/__test__/Domain/Note.test.ts on lines 129..133
    src/__test__/Domain/Note.test.ts on lines 135..139
    src/__test__/Domain/Note.test.ts on lines 141..145
    src/__test__/Domain/Note.test.ts on lines 147..151
    src/__test__/Domain/Note.test.ts on lines 153..157
    src/__test__/Domain/Note.test.ts on lines 159..163
    src/__test__/Domain/Note.test.ts on lines 165..169
    src/__test__/Domain/Note.test.ts on lines 171..175
    src/__test__/Domain/Note.test.ts on lines 177..181
    src/__test__/Domain/Note.test.ts on lines 183..187
    src/__test__/Domain/Note.test.ts on lines 193..197
    src/__test__/Domain/Note.test.ts on lines 199..203
    src/__test__/Domain/Note.test.ts on lines 205..209
    src/__test__/Domain/Note.test.ts on lines 217..221
    src/__test__/Domain/Note.test.ts on lines 223..227
    src/__test__/Domain/Note.test.ts on lines 229..233
    src/__test__/Domain/Note.test.ts on lines 235..239
    src/__test__/Domain/Note.test.ts on lines 241..245

    Duplicated Code

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

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

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

    Tuning

    This issue has a mass of 58.

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

        test('G to be level', () => {
          expect(note.intervalDirection(new Note(Pitch.G, Duration.Quarter, Octave.C1))).toBe(
            IntervalDirection.Level
          );
        });
    Severity: Major
    Found in src/__test__/Domain/Note.test.ts and 21 other locations - About 1 hr to fix
    src/__test__/Domain/Note.test.ts on lines 111..115
    src/__test__/Domain/Note.test.ts on lines 117..121
    src/__test__/Domain/Note.test.ts on lines 123..127
    src/__test__/Domain/Note.test.ts on lines 129..133
    src/__test__/Domain/Note.test.ts on lines 135..139
    src/__test__/Domain/Note.test.ts on lines 141..145
    src/__test__/Domain/Note.test.ts on lines 147..151
    src/__test__/Domain/Note.test.ts on lines 153..157
    src/__test__/Domain/Note.test.ts on lines 159..163
    src/__test__/Domain/Note.test.ts on lines 165..169
    src/__test__/Domain/Note.test.ts on lines 171..175
    src/__test__/Domain/Note.test.ts on lines 177..181
    src/__test__/Domain/Note.test.ts on lines 183..187
    src/__test__/Domain/Note.test.ts on lines 193..197
    src/__test__/Domain/Note.test.ts on lines 199..203
    src/__test__/Domain/Note.test.ts on lines 205..209
    src/__test__/Domain/Note.test.ts on lines 211..215
    src/__test__/Domain/Note.test.ts on lines 217..221
    src/__test__/Domain/Note.test.ts on lines 229..233
    src/__test__/Domain/Note.test.ts on lines 235..239
    src/__test__/Domain/Note.test.ts on lines 241..245

    Duplicated Code

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

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

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

    Tuning

    This issue has a mass of 58.

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

        test('D to be descending', () => {
          expect(note.intervalDirection(new Note(Pitch.D, Duration.Quarter, Octave.C1))).toBe(
            IntervalDirection.Descending
          );
        });
    Severity: Major
    Found in src/__test__/Domain/Note.test.ts and 21 other locations - About 1 hr to fix
    src/__test__/Domain/Note.test.ts on lines 111..115
    src/__test__/Domain/Note.test.ts on lines 117..121
    src/__test__/Domain/Note.test.ts on lines 123..127
    src/__test__/Domain/Note.test.ts on lines 129..133
    src/__test__/Domain/Note.test.ts on lines 135..139
    src/__test__/Domain/Note.test.ts on lines 141..145
    src/__test__/Domain/Note.test.ts on lines 147..151
    src/__test__/Domain/Note.test.ts on lines 153..157
    src/__test__/Domain/Note.test.ts on lines 159..163
    src/__test__/Domain/Note.test.ts on lines 165..169
    src/__test__/Domain/Note.test.ts on lines 171..175
    src/__test__/Domain/Note.test.ts on lines 177..181
    src/__test__/Domain/Note.test.ts on lines 183..187
    src/__test__/Domain/Note.test.ts on lines 193..197
    src/__test__/Domain/Note.test.ts on lines 205..209
    src/__test__/Domain/Note.test.ts on lines 211..215
    src/__test__/Domain/Note.test.ts on lines 217..221
    src/__test__/Domain/Note.test.ts on lines 223..227
    src/__test__/Domain/Note.test.ts on lines 229..233
    src/__test__/Domain/Note.test.ts on lines 235..239
    src/__test__/Domain/Note.test.ts on lines 241..245

    Duplicated Code

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

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

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

    Tuning

    This issue has a mass of 58.

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

        test('C and G sharp as AugmentedFifth', () => {
          expect(note.intervalTo(new Note(Pitch.GSharp, Duration.Quarter, Octave.C1))).toBe(
            Interval.AugmentedFifth
          );
        });
    Severity: Major
    Found in src/__test__/Domain/Note.test.ts and 21 other locations - About 1 hr to fix
    src/__test__/Domain/Note.test.ts on lines 111..115
    src/__test__/Domain/Note.test.ts on lines 117..121
    src/__test__/Domain/Note.test.ts on lines 123..127
    src/__test__/Domain/Note.test.ts on lines 129..133
    src/__test__/Domain/Note.test.ts on lines 135..139
    src/__test__/Domain/Note.test.ts on lines 141..145
    src/__test__/Domain/Note.test.ts on lines 147..151
    src/__test__/Domain/Note.test.ts on lines 153..157
    src/__test__/Domain/Note.test.ts on lines 165..169
    src/__test__/Domain/Note.test.ts on lines 171..175
    src/__test__/Domain/Note.test.ts on lines 177..181
    src/__test__/Domain/Note.test.ts on lines 183..187
    src/__test__/Domain/Note.test.ts on lines 193..197
    src/__test__/Domain/Note.test.ts on lines 199..203
    src/__test__/Domain/Note.test.ts on lines 205..209
    src/__test__/Domain/Note.test.ts on lines 211..215
    src/__test__/Domain/Note.test.ts on lines 217..221
    src/__test__/Domain/Note.test.ts on lines 223..227
    src/__test__/Domain/Note.test.ts on lines 229..233
    src/__test__/Domain/Note.test.ts on lines 235..239
    src/__test__/Domain/Note.test.ts on lines 241..245

    Duplicated Code

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

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

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

    Tuning

    This issue has a mass of 58.

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

        test('C and B flat as MinorSeventh', () => {
          expect(note.intervalTo(new Note(Pitch.BFlat, Duration.Quarter, Octave.C1))).toBe(
            Interval.MinorSeventh
          );
        });
    Severity: Major
    Found in src/__test__/Domain/Note.test.ts and 21 other locations - About 1 hr to fix
    src/__test__/Domain/Note.test.ts on lines 111..115
    src/__test__/Domain/Note.test.ts on lines 117..121
    src/__test__/Domain/Note.test.ts on lines 123..127
    src/__test__/Domain/Note.test.ts on lines 129..133
    src/__test__/Domain/Note.test.ts on lines 135..139
    src/__test__/Domain/Note.test.ts on lines 141..145
    src/__test__/Domain/Note.test.ts on lines 147..151
    src/__test__/Domain/Note.test.ts on lines 153..157
    src/__test__/Domain/Note.test.ts on lines 159..163
    src/__test__/Domain/Note.test.ts on lines 165..169
    src/__test__/Domain/Note.test.ts on lines 171..175
    src/__test__/Domain/Note.test.ts on lines 183..187
    src/__test__/Domain/Note.test.ts on lines 193..197
    src/__test__/Domain/Note.test.ts on lines 199..203
    src/__test__/Domain/Note.test.ts on lines 205..209
    src/__test__/Domain/Note.test.ts on lines 211..215
    src/__test__/Domain/Note.test.ts on lines 217..221
    src/__test__/Domain/Note.test.ts on lines 223..227
    src/__test__/Domain/Note.test.ts on lines 229..233
    src/__test__/Domain/Note.test.ts on lines 235..239
    src/__test__/Domain/Note.test.ts on lines 241..245

    Duplicated Code

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

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

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

    Tuning

    This issue has a mass of 58.

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

        test('Gb to be descending', () => {
          expect(note.intervalDirection(new Note(Pitch.GFlat, Duration.Quarter, Octave.C1))).toBe(
            IntervalDirection.Descending
          );
        });
    Severity: Major
    Found in src/__test__/Domain/Note.test.ts and 21 other locations - About 1 hr to fix
    src/__test__/Domain/Note.test.ts on lines 111..115
    src/__test__/Domain/Note.test.ts on lines 117..121
    src/__test__/Domain/Note.test.ts on lines 123..127
    src/__test__/Domain/Note.test.ts on lines 129..133
    src/__test__/Domain/Note.test.ts on lines 135..139
    src/__test__/Domain/Note.test.ts on lines 141..145
    src/__test__/Domain/Note.test.ts on lines 147..151
    src/__test__/Domain/Note.test.ts on lines 153..157
    src/__test__/Domain/Note.test.ts on lines 159..163
    src/__test__/Domain/Note.test.ts on lines 165..169
    src/__test__/Domain/Note.test.ts on lines 171..175
    src/__test__/Domain/Note.test.ts on lines 177..181
    src/__test__/Domain/Note.test.ts on lines 183..187
    src/__test__/Domain/Note.test.ts on lines 193..197
    src/__test__/Domain/Note.test.ts on lines 199..203
    src/__test__/Domain/Note.test.ts on lines 205..209
    src/__test__/Domain/Note.test.ts on lines 211..215
    src/__test__/Domain/Note.test.ts on lines 223..227
    src/__test__/Domain/Note.test.ts on lines 229..233
    src/__test__/Domain/Note.test.ts on lines 235..239
    src/__test__/Domain/Note.test.ts on lines 241..245

    Duplicated Code

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

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

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

    Tuning

    This issue has a mass of 58.

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

        test('C and E as MajorThird', () => {
          expect(note.intervalTo(new Note(Pitch.E, Duration.Quarter, Octave.C1))).toBe(
            Interval.MajorThird
          );
        });
    Severity: Major
    Found in src/__test__/Domain/Note.test.ts and 21 other locations - About 1 hr to fix
    src/__test__/Domain/Note.test.ts on lines 111..115
    src/__test__/Domain/Note.test.ts on lines 117..121
    src/__test__/Domain/Note.test.ts on lines 123..127
    src/__test__/Domain/Note.test.ts on lines 135..139
    src/__test__/Domain/Note.test.ts on lines 141..145
    src/__test__/Domain/Note.test.ts on lines 147..151
    src/__test__/Domain/Note.test.ts on lines 153..157
    src/__test__/Domain/Note.test.ts on lines 159..163
    src/__test__/Domain/Note.test.ts on lines 165..169
    src/__test__/Domain/Note.test.ts on lines 171..175
    src/__test__/Domain/Note.test.ts on lines 177..181
    src/__test__/Domain/Note.test.ts on lines 183..187
    src/__test__/Domain/Note.test.ts on lines 193..197
    src/__test__/Domain/Note.test.ts on lines 199..203
    src/__test__/Domain/Note.test.ts on lines 205..209
    src/__test__/Domain/Note.test.ts on lines 211..215
    src/__test__/Domain/Note.test.ts on lines 217..221
    src/__test__/Domain/Note.test.ts on lines 223..227
    src/__test__/Domain/Note.test.ts on lines 229..233
    src/__test__/Domain/Note.test.ts on lines 235..239
    src/__test__/Domain/Note.test.ts on lines 241..245

    Duplicated Code

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

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

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

    Tuning

    This issue has a mass of 58.

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

        test('C and G flat as DiminishedFifth', () => {
          expect(note.intervalTo(new Note(Pitch.GFlat, Duration.Quarter, Octave.C1))).toBe(
            Interval.DiminishedFifth
          );
        });
    Severity: Major
    Found in src/__test__/Domain/Note.test.ts and 21 other locations - About 1 hr to fix
    src/__test__/Domain/Note.test.ts on lines 111..115
    src/__test__/Domain/Note.test.ts on lines 117..121
    src/__test__/Domain/Note.test.ts on lines 123..127
    src/__test__/Domain/Note.test.ts on lines 129..133
    src/__test__/Domain/Note.test.ts on lines 135..139
    src/__test__/Domain/Note.test.ts on lines 141..145
    src/__test__/Domain/Note.test.ts on lines 153..157
    src/__test__/Domain/Note.test.ts on lines 159..163
    src/__test__/Domain/Note.test.ts on lines 165..169
    src/__test__/Domain/Note.test.ts on lines 171..175
    src/__test__/Domain/Note.test.ts on lines 177..181
    src/__test__/Domain/Note.test.ts on lines 183..187
    src/__test__/Domain/Note.test.ts on lines 193..197
    src/__test__/Domain/Note.test.ts on lines 199..203
    src/__test__/Domain/Note.test.ts on lines 205..209
    src/__test__/Domain/Note.test.ts on lines 211..215
    src/__test__/Domain/Note.test.ts on lines 217..221
    src/__test__/Domain/Note.test.ts on lines 223..227
    src/__test__/Domain/Note.test.ts on lines 229..233
    src/__test__/Domain/Note.test.ts on lines 235..239
    src/__test__/Domain/Note.test.ts on lines 241..245

    Duplicated Code

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

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

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

    Tuning

    This issue has a mass of 58.

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

        test('C and A flat as MinorSixth', () => {
          expect(note.intervalTo(new Note(Pitch.AFlat, Duration.Quarter, Octave.C1))).toBe(
            Interval.MinorSixth
          );
        });
    Severity: Major
    Found in src/__test__/Domain/Note.test.ts and 21 other locations - About 1 hr to fix
    src/__test__/Domain/Note.test.ts on lines 111..115
    src/__test__/Domain/Note.test.ts on lines 117..121
    src/__test__/Domain/Note.test.ts on lines 123..127
    src/__test__/Domain/Note.test.ts on lines 129..133
    src/__test__/Domain/Note.test.ts on lines 135..139
    src/__test__/Domain/Note.test.ts on lines 141..145
    src/__test__/Domain/Note.test.ts on lines 147..151
    src/__test__/Domain/Note.test.ts on lines 153..157
    src/__test__/Domain/Note.test.ts on lines 159..163
    src/__test__/Domain/Note.test.ts on lines 171..175
    src/__test__/Domain/Note.test.ts on lines 177..181
    src/__test__/Domain/Note.test.ts on lines 183..187
    src/__test__/Domain/Note.test.ts on lines 193..197
    src/__test__/Domain/Note.test.ts on lines 199..203
    src/__test__/Domain/Note.test.ts on lines 205..209
    src/__test__/Domain/Note.test.ts on lines 211..215
    src/__test__/Domain/Note.test.ts on lines 217..221
    src/__test__/Domain/Note.test.ts on lines 223..227
    src/__test__/Domain/Note.test.ts on lines 229..233
    src/__test__/Domain/Note.test.ts on lines 235..239
    src/__test__/Domain/Note.test.ts on lines 241..245

    Duplicated Code

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

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

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

    Tuning

    This issue has a mass of 58.

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

        test('E to be descending', () => {
          expect(note.intervalDirection(new Note(Pitch.E, Duration.Quarter, Octave.C1))).toBe(
            IntervalDirection.Descending
          );
        });
    Severity: Major
    Found in src/__test__/Domain/Note.test.ts and 21 other locations - About 1 hr to fix
    src/__test__/Domain/Note.test.ts on lines 111..115
    src/__test__/Domain/Note.test.ts on lines 117..121
    src/__test__/Domain/Note.test.ts on lines 123..127
    src/__test__/Domain/Note.test.ts on lines 129..133
    src/__test__/Domain/Note.test.ts on lines 135..139
    src/__test__/Domain/Note.test.ts on lines 141..145
    src/__test__/Domain/Note.test.ts on lines 147..151
    src/__test__/Domain/Note.test.ts on lines 153..157
    src/__test__/Domain/Note.test.ts on lines 159..163
    src/__test__/Domain/Note.test.ts on lines 165..169
    src/__test__/Domain/Note.test.ts on lines 171..175
    src/__test__/Domain/Note.test.ts on lines 177..181
    src/__test__/Domain/Note.test.ts on lines 183..187
    src/__test__/Domain/Note.test.ts on lines 193..197
    src/__test__/Domain/Note.test.ts on lines 199..203
    src/__test__/Domain/Note.test.ts on lines 211..215
    src/__test__/Domain/Note.test.ts on lines 217..221
    src/__test__/Domain/Note.test.ts on lines 223..227
    src/__test__/Domain/Note.test.ts on lines 229..233
    src/__test__/Domain/Note.test.ts on lines 235..239
    src/__test__/Domain/Note.test.ts on lines 241..245

    Duplicated Code

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

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

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

    Tuning

    This issue has a mass of 58.

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

        test('C and Db to minor second', () => {
          expect(note.intervalTo(new Note(Pitch.DFlat, Duration.Quarter, Octave.C1))).toBe(
            Interval.MinorSecond
          );
        });
    Severity: Major
    Found in src/__test__/Domain/Note.test.ts and 21 other locations - About 1 hr to fix
    src/__test__/Domain/Note.test.ts on lines 117..121
    src/__test__/Domain/Note.test.ts on lines 123..127
    src/__test__/Domain/Note.test.ts on lines 129..133
    src/__test__/Domain/Note.test.ts on lines 135..139
    src/__test__/Domain/Note.test.ts on lines 141..145
    src/__test__/Domain/Note.test.ts on lines 147..151
    src/__test__/Domain/Note.test.ts on lines 153..157
    src/__test__/Domain/Note.test.ts on lines 159..163
    src/__test__/Domain/Note.test.ts on lines 165..169
    src/__test__/Domain/Note.test.ts on lines 171..175
    src/__test__/Domain/Note.test.ts on lines 177..181
    src/__test__/Domain/Note.test.ts on lines 183..187
    src/__test__/Domain/Note.test.ts on lines 193..197
    src/__test__/Domain/Note.test.ts on lines 199..203
    src/__test__/Domain/Note.test.ts on lines 205..209
    src/__test__/Domain/Note.test.ts on lines 211..215
    src/__test__/Domain/Note.test.ts on lines 217..221
    src/__test__/Domain/Note.test.ts on lines 223..227
    src/__test__/Domain/Note.test.ts on lines 229..233
    src/__test__/Domain/Note.test.ts on lines 235..239
    src/__test__/Domain/Note.test.ts on lines 241..245

    Duplicated Code

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

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

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

    Tuning

    This issue has a mass of 58.

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

        test('C and F as PerfectFourth', () => {
          expect(note.intervalTo(new Note(Pitch.F, Duration.Quarter, Octave.C1))).toBe(
            Interval.PerfectFourth
          );
        });
    Severity: Major
    Found in src/__test__/Domain/Note.test.ts and 21 other locations - About 1 hr to fix
    src/__test__/Domain/Note.test.ts on lines 111..115
    src/__test__/Domain/Note.test.ts on lines 117..121
    src/__test__/Domain/Note.test.ts on lines 123..127
    src/__test__/Domain/Note.test.ts on lines 129..133
    src/__test__/Domain/Note.test.ts on lines 141..145
    src/__test__/Domain/Note.test.ts on lines 147..151
    src/__test__/Domain/Note.test.ts on lines 153..157
    src/__test__/Domain/Note.test.ts on lines 159..163
    src/__test__/Domain/Note.test.ts on lines 165..169
    src/__test__/Domain/Note.test.ts on lines 171..175
    src/__test__/Domain/Note.test.ts on lines 177..181
    src/__test__/Domain/Note.test.ts on lines 183..187
    src/__test__/Domain/Note.test.ts on lines 193..197
    src/__test__/Domain/Note.test.ts on lines 199..203
    src/__test__/Domain/Note.test.ts on lines 205..209
    src/__test__/Domain/Note.test.ts on lines 211..215
    src/__test__/Domain/Note.test.ts on lines 217..221
    src/__test__/Domain/Note.test.ts on lines 223..227
    src/__test__/Domain/Note.test.ts on lines 229..233
    src/__test__/Domain/Note.test.ts on lines 235..239
    src/__test__/Domain/Note.test.ts on lines 241..245

    Duplicated Code

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

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

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

    Tuning

    This issue has a mass of 58.

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

        test('B to be ascending', () => {
          expect(note.intervalDirection(new Note(Pitch.A, Duration.Quarter, Octave.C1))).toBe(
            IntervalDirection.Ascending
          );
        });
    Severity: Major
    Found in src/__test__/Domain/Note.test.ts and 21 other locations - About 1 hr to fix
    src/__test__/Domain/Note.test.ts on lines 111..115
    src/__test__/Domain/Note.test.ts on lines 117..121
    src/__test__/Domain/Note.test.ts on lines 123..127
    src/__test__/Domain/Note.test.ts on lines 129..133
    src/__test__/Domain/Note.test.ts on lines 135..139
    src/__test__/Domain/Note.test.ts on lines 141..145
    src/__test__/Domain/Note.test.ts on lines 147..151
    src/__test__/Domain/Note.test.ts on lines 153..157
    src/__test__/Domain/Note.test.ts on lines 159..163
    src/__test__/Domain/Note.test.ts on lines 165..169
    src/__test__/Domain/Note.test.ts on lines 171..175
    src/__test__/Domain/Note.test.ts on lines 177..181
    src/__test__/Domain/Note.test.ts on lines 183..187
    src/__test__/Domain/Note.test.ts on lines 193..197
    src/__test__/Domain/Note.test.ts on lines 199..203
    src/__test__/Domain/Note.test.ts on lines 205..209
    src/__test__/Domain/Note.test.ts on lines 211..215
    src/__test__/Domain/Note.test.ts on lines 217..221
    src/__test__/Domain/Note.test.ts on lines 223..227
    src/__test__/Domain/Note.test.ts on lines 229..233
    src/__test__/Domain/Note.test.ts on lines 235..239

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

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

        test('C and F sharp as AugmentedFourth', () => {
          expect(note.intervalTo(new Note(Pitch.FSharp, Duration.Quarter, Octave.C1))).toBe(
            Interval.AugmentedFourth
          );
        });
    Severity: Major
    Found in src/__test__/Domain/Note.test.ts and 21 other locations - About 1 hr to fix
    src/__test__/Domain/Note.test.ts on lines 111..115
    src/__test__/Domain/Note.test.ts on lines 117..121
    src/__test__/Domain/Note.test.ts on lines 123..127
    src/__test__/Domain/Note.test.ts on lines 129..133
    src/__test__/Domain/Note.test.ts on lines 135..139
    src/__test__/Domain/Note.test.ts on lines 147..151
    src/__test__/Domain/Note.test.ts on lines 153..157
    src/__test__/Domain/Note.test.ts on lines 159..163
    src/__test__/Domain/Note.test.ts on lines 165..169
    src/__test__/Domain/Note.test.ts on lines 171..175
    src/__test__/Domain/Note.test.ts on lines 177..181
    src/__test__/Domain/Note.test.ts on lines 183..187
    src/__test__/Domain/Note.test.ts on lines 193..197
    src/__test__/Domain/Note.test.ts on lines 199..203
    src/__test__/Domain/Note.test.ts on lines 205..209
    src/__test__/Domain/Note.test.ts on lines 211..215
    src/__test__/Domain/Note.test.ts on lines 217..221
    src/__test__/Domain/Note.test.ts on lines 223..227
    src/__test__/Domain/Note.test.ts on lines 229..233
    src/__test__/Domain/Note.test.ts on lines 235..239
    src/__test__/Domain/Note.test.ts on lines 241..245

    Duplicated Code

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

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

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

    Tuning

    This issue has a mass of 58.

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

        test('C and G as PerfectFifth', () => {
          expect(note.intervalTo(new Note(Pitch.G, Duration.Quarter, Octave.C1))).toBe(
            Interval.PerfectFifth
          );
        });
    Severity: Major
    Found in src/__test__/Domain/Note.test.ts and 21 other locations - About 1 hr to fix
    src/__test__/Domain/Note.test.ts on lines 111..115
    src/__test__/Domain/Note.test.ts on lines 117..121
    src/__test__/Domain/Note.test.ts on lines 123..127
    src/__test__/Domain/Note.test.ts on lines 129..133
    src/__test__/Domain/Note.test.ts on lines 135..139
    src/__test__/Domain/Note.test.ts on lines 141..145
    src/__test__/Domain/Note.test.ts on lines 147..151
    src/__test__/Domain/Note.test.ts on lines 159..163
    src/__test__/Domain/Note.test.ts on lines 165..169
    src/__test__/Domain/Note.test.ts on lines 171..175
    src/__test__/Domain/Note.test.ts on lines 177..181
    src/__test__/Domain/Note.test.ts on lines 183..187
    src/__test__/Domain/Note.test.ts on lines 193..197
    src/__test__/Domain/Note.test.ts on lines 199..203
    src/__test__/Domain/Note.test.ts on lines 205..209
    src/__test__/Domain/Note.test.ts on lines 211..215
    src/__test__/Domain/Note.test.ts on lines 217..221
    src/__test__/Domain/Note.test.ts on lines 223..227
    src/__test__/Domain/Note.test.ts on lines 229..233
    src/__test__/Domain/Note.test.ts on lines 235..239
    src/__test__/Domain/Note.test.ts on lines 241..245

    Duplicated Code

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

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

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

    Tuning

    This issue has a mass of 58.

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

        test('C and B as MajorSeventh', () => {
          expect(note.intervalTo(new Note(Pitch.B, Duration.Quarter, Octave.C1))).toBe(
            Interval.MajorSeventh
          );
        });
    Severity: Major
    Found in src/__test__/Domain/Note.test.ts and 21 other locations - About 1 hr to fix
    src/__test__/Domain/Note.test.ts on lines 111..115
    src/__test__/Domain/Note.test.ts on lines 117..121
    src/__test__/Domain/Note.test.ts on lines 123..127
    src/__test__/Domain/Note.test.ts on lines 129..133
    src/__test__/Domain/Note.test.ts on lines 135..139
    src/__test__/Domain/Note.test.ts on lines 141..145
    src/__test__/Domain/Note.test.ts on lines 147..151
    src/__test__/Domain/Note.test.ts on lines 153..157
    src/__test__/Domain/Note.test.ts on lines 159..163
    src/__test__/Domain/Note.test.ts on lines 165..169
    src/__test__/Domain/Note.test.ts on lines 171..175
    src/__test__/Domain/Note.test.ts on lines 177..181
    src/__test__/Domain/Note.test.ts on lines 193..197
    src/__test__/Domain/Note.test.ts on lines 199..203
    src/__test__/Domain/Note.test.ts on lines 205..209
    src/__test__/Domain/Note.test.ts on lines 211..215
    src/__test__/Domain/Note.test.ts on lines 217..221
    src/__test__/Domain/Note.test.ts on lines 223..227
    src/__test__/Domain/Note.test.ts on lines 229..233
    src/__test__/Domain/Note.test.ts on lines 235..239
    src/__test__/Domain/Note.test.ts on lines 241..245

    Duplicated Code

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

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

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

    Tuning

    This issue has a mass of 58.

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

        test('A to be ascending', () => {
          expect(note.intervalDirection(new Note(Pitch.A, Duration.Quarter, Octave.C1))).toBe(
            IntervalDirection.Ascending
          );
        });
    Severity: Major
    Found in src/__test__/Domain/Note.test.ts and 21 other locations - About 1 hr to fix
    src/__test__/Domain/Note.test.ts on lines 111..115
    src/__test__/Domain/Note.test.ts on lines 117..121
    src/__test__/Domain/Note.test.ts on lines 123..127
    src/__test__/Domain/Note.test.ts on lines 129..133
    src/__test__/Domain/Note.test.ts on lines 135..139
    src/__test__/Domain/Note.test.ts on lines 141..145
    src/__test__/Domain/Note.test.ts on lines 147..151
    src/__test__/Domain/Note.test.ts on lines 153..157
    src/__test__/Domain/Note.test.ts on lines 159..163
    src/__test__/Domain/Note.test.ts on lines 165..169
    src/__test__/Domain/Note.test.ts on lines 171..175
    src/__test__/Domain/Note.test.ts on lines 177..181
    src/__test__/Domain/Note.test.ts on lines 183..187
    src/__test__/Domain/Note.test.ts on lines 193..197
    src/__test__/Domain/Note.test.ts on lines 199..203
    src/__test__/Domain/Note.test.ts on lines 205..209
    src/__test__/Domain/Note.test.ts on lines 211..215
    src/__test__/Domain/Note.test.ts on lines 217..221
    src/__test__/Domain/Note.test.ts on lines 223..227
    src/__test__/Domain/Note.test.ts on lines 229..233
    src/__test__/Domain/Note.test.ts on lines 241..245

    Duplicated Code

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

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

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

    Tuning

    This issue has a mass of 58.

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

        test('C and D as MajorSecond', () => {
          expect(note.intervalTo(new Note(Pitch.D, Duration.Quarter, Octave.C1))).toBe(
            Interval.MajorSecond
          );
        });
    Severity: Major
    Found in src/__test__/Domain/Note.test.ts and 21 other locations - About 1 hr to fix
    src/__test__/Domain/Note.test.ts on lines 111..115
    src/__test__/Domain/Note.test.ts on lines 123..127
    src/__test__/Domain/Note.test.ts on lines 129..133
    src/__test__/Domain/Note.test.ts on lines 135..139
    src/__test__/Domain/Note.test.ts on lines 141..145
    src/__test__/Domain/Note.test.ts on lines 147..151
    src/__test__/Domain/Note.test.ts on lines 153..157
    src/__test__/Domain/Note.test.ts on lines 159..163
    src/__test__/Domain/Note.test.ts on lines 165..169
    src/__test__/Domain/Note.test.ts on lines 171..175
    src/__test__/Domain/Note.test.ts on lines 177..181
    src/__test__/Domain/Note.test.ts on lines 183..187
    src/__test__/Domain/Note.test.ts on lines 193..197
    src/__test__/Domain/Note.test.ts on lines 199..203
    src/__test__/Domain/Note.test.ts on lines 205..209
    src/__test__/Domain/Note.test.ts on lines 211..215
    src/__test__/Domain/Note.test.ts on lines 217..221
    src/__test__/Domain/Note.test.ts on lines 223..227
    src/__test__/Domain/Note.test.ts on lines 229..233
    src/__test__/Domain/Note.test.ts on lines 235..239
    src/__test__/Domain/Note.test.ts on lines 241..245

    Duplicated Code

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

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

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

    Tuning

    This issue has a mass of 58.

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

        test('C and A as MajorSixth', () => {
          expect(note.intervalTo(new Note(Pitch.A, Duration.Quarter, Octave.C1))).toBe(
            Interval.MajorSixth
          );
        });
    Severity: Major
    Found in src/__test__/Domain/Note.test.ts and 21 other locations - About 1 hr to fix
    src/__test__/Domain/Note.test.ts on lines 111..115
    src/__test__/Domain/Note.test.ts on lines 117..121
    src/__test__/Domain/Note.test.ts on lines 123..127
    src/__test__/Domain/Note.test.ts on lines 129..133
    src/__test__/Domain/Note.test.ts on lines 135..139
    src/__test__/Domain/Note.test.ts on lines 141..145
    src/__test__/Domain/Note.test.ts on lines 147..151
    src/__test__/Domain/Note.test.ts on lines 153..157
    src/__test__/Domain/Note.test.ts on lines 159..163
    src/__test__/Domain/Note.test.ts on lines 165..169
    src/__test__/Domain/Note.test.ts on lines 177..181
    src/__test__/Domain/Note.test.ts on lines 183..187
    src/__test__/Domain/Note.test.ts on lines 193..197
    src/__test__/Domain/Note.test.ts on lines 199..203
    src/__test__/Domain/Note.test.ts on lines 205..209
    src/__test__/Domain/Note.test.ts on lines 211..215
    src/__test__/Domain/Note.test.ts on lines 217..221
    src/__test__/Domain/Note.test.ts on lines 223..227
    src/__test__/Domain/Note.test.ts on lines 229..233
    src/__test__/Domain/Note.test.ts on lines 235..239
    src/__test__/Domain/Note.test.ts on lines 241..245

    Duplicated Code

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

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

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

    Tuning

    This issue has a mass of 58.

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

        test('G# to be ascending', () => {
          expect(note.intervalDirection(new Note(Pitch.GSharp, Duration.Quarter, Octave.C1))).toBe(
            IntervalDirection.Ascending
          );
        });
    Severity: Major
    Found in src/__test__/Domain/Note.test.ts and 21 other locations - About 1 hr to fix
    src/__test__/Domain/Note.test.ts on lines 111..115
    src/__test__/Domain/Note.test.ts on lines 117..121
    src/__test__/Domain/Note.test.ts on lines 123..127
    src/__test__/Domain/Note.test.ts on lines 129..133
    src/__test__/Domain/Note.test.ts on lines 135..139
    src/__test__/Domain/Note.test.ts on lines 141..145
    src/__test__/Domain/Note.test.ts on lines 147..151
    src/__test__/Domain/Note.test.ts on lines 153..157
    src/__test__/Domain/Note.test.ts on lines 159..163
    src/__test__/Domain/Note.test.ts on lines 165..169
    src/__test__/Domain/Note.test.ts on lines 171..175
    src/__test__/Domain/Note.test.ts on lines 177..181
    src/__test__/Domain/Note.test.ts on lines 183..187
    src/__test__/Domain/Note.test.ts on lines 193..197
    src/__test__/Domain/Note.test.ts on lines 199..203
    src/__test__/Domain/Note.test.ts on lines 205..209
    src/__test__/Domain/Note.test.ts on lines 211..215
    src/__test__/Domain/Note.test.ts on lines 217..221
    src/__test__/Domain/Note.test.ts on lines 223..227
    src/__test__/Domain/Note.test.ts on lines 235..239
    src/__test__/Domain/Note.test.ts on lines 241..245

    Duplicated Code

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

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

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

    Tuning

    This issue has a mass of 58.

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

        test('DiminishedFifth from C to G flat', () => {
          expect(note.transpose(Interval.DiminishedFifth).Pitch).toBe(Pitch.GFlat);
        });
    Severity: Major
    Found in src/__test__/Domain/Note.test.ts and 15 other locations - About 40 mins to fix
    src/__test__/Domain/Note.test.ts on lines 43..45
    src/__test__/Domain/Note.test.ts on lines 47..49
    src/__test__/Domain/Note.test.ts on lines 51..53
    src/__test__/Domain/Note.test.ts on lines 55..57
    src/__test__/Domain/Note.test.ts on lines 59..61
    src/__test__/Domain/Note.test.ts on lines 63..65
    src/__test__/Domain/Note.test.ts on lines 67..69
    src/__test__/Domain/Note.test.ts on lines 71..73
    src/__test__/Domain/Note.test.ts on lines 79..81
    src/__test__/Domain/Note.test.ts on lines 83..85
    src/__test__/Domain/Note.test.ts on lines 87..89
    src/__test__/Domain/Note.test.ts on lines 91..93
    src/__test__/Domain/Note.test.ts on lines 95..97
    src/__test__/Domain/Note.test.ts on lines 99..101
    src/__test__/Domain/Note.test.ts on lines 103..105

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

        test('AugmentedFifth from C to G sharp', () => {
          expect(note.transpose(Interval.AugmentedFifth).Pitch).toBe(Pitch.GSharp);
        });
    Severity: Major
    Found in src/__test__/Domain/Note.test.ts and 15 other locations - About 40 mins to fix
    src/__test__/Domain/Note.test.ts on lines 43..45
    src/__test__/Domain/Note.test.ts on lines 47..49
    src/__test__/Domain/Note.test.ts on lines 51..53
    src/__test__/Domain/Note.test.ts on lines 55..57
    src/__test__/Domain/Note.test.ts on lines 59..61
    src/__test__/Domain/Note.test.ts on lines 63..65
    src/__test__/Domain/Note.test.ts on lines 67..69
    src/__test__/Domain/Note.test.ts on lines 71..73
    src/__test__/Domain/Note.test.ts on lines 75..77
    src/__test__/Domain/Note.test.ts on lines 79..81
    src/__test__/Domain/Note.test.ts on lines 87..89
    src/__test__/Domain/Note.test.ts on lines 91..93
    src/__test__/Domain/Note.test.ts on lines 95..97
    src/__test__/Domain/Note.test.ts on lines 99..101
    src/__test__/Domain/Note.test.ts on lines 103..105

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

        test('MajorSeventh from C to B', () => {
          expect(note.transpose(Interval.MajorSeventh).Pitch).toBe(Pitch.B);
        });
    Severity: Major
    Found in src/__test__/Domain/Note.test.ts and 15 other locations - About 40 mins to fix
    src/__test__/Domain/Note.test.ts on lines 43..45
    src/__test__/Domain/Note.test.ts on lines 47..49
    src/__test__/Domain/Note.test.ts on lines 51..53
    src/__test__/Domain/Note.test.ts on lines 55..57
    src/__test__/Domain/Note.test.ts on lines 59..61
    src/__test__/Domain/Note.test.ts on lines 63..65
    src/__test__/Domain/Note.test.ts on lines 67..69
    src/__test__/Domain/Note.test.ts on lines 71..73
    src/__test__/Domain/Note.test.ts on lines 75..77
    src/__test__/Domain/Note.test.ts on lines 79..81
    src/__test__/Domain/Note.test.ts on lines 83..85
    src/__test__/Domain/Note.test.ts on lines 87..89
    src/__test__/Domain/Note.test.ts on lines 91..93
    src/__test__/Domain/Note.test.ts on lines 95..97
    src/__test__/Domain/Note.test.ts on lines 99..101

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

        test('diminished seventh from C to B flat flat', () => {
          expect(note.transpose(Interval.DiminishedSeventh).Pitch).toBe(Pitch.A);
        });
    Severity: Major
    Found in src/__test__/Domain/Note.test.ts and 15 other locations - About 40 mins to fix
    src/__test__/Domain/Note.test.ts on lines 43..45
    src/__test__/Domain/Note.test.ts on lines 47..49
    src/__test__/Domain/Note.test.ts on lines 51..53
    src/__test__/Domain/Note.test.ts on lines 55..57
    src/__test__/Domain/Note.test.ts on lines 59..61
    src/__test__/Domain/Note.test.ts on lines 63..65
    src/__test__/Domain/Note.test.ts on lines 67..69
    src/__test__/Domain/Note.test.ts on lines 71..73
    src/__test__/Domain/Note.test.ts on lines 75..77
    src/__test__/Domain/Note.test.ts on lines 79..81
    src/__test__/Domain/Note.test.ts on lines 83..85
    src/__test__/Domain/Note.test.ts on lines 87..89
    src/__test__/Domain/Note.test.ts on lines 91..93
    src/__test__/Domain/Note.test.ts on lines 99..101
    src/__test__/Domain/Note.test.ts on lines 103..105

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

        test('MinorSecond from C to D flat', () => {
          expect(note.transpose(Interval.MinorSecond).Pitch).toBe(Pitch.DFlat);
        });
    Severity: Major
    Found in src/__test__/Domain/Note.test.ts and 15 other locations - About 40 mins to fix
    src/__test__/Domain/Note.test.ts on lines 43..45
    src/__test__/Domain/Note.test.ts on lines 51..53
    src/__test__/Domain/Note.test.ts on lines 55..57
    src/__test__/Domain/Note.test.ts on lines 59..61
    src/__test__/Domain/Note.test.ts on lines 63..65
    src/__test__/Domain/Note.test.ts on lines 67..69
    src/__test__/Domain/Note.test.ts on lines 71..73
    src/__test__/Domain/Note.test.ts on lines 75..77
    src/__test__/Domain/Note.test.ts on lines 79..81
    src/__test__/Domain/Note.test.ts on lines 83..85
    src/__test__/Domain/Note.test.ts on lines 87..89
    src/__test__/Domain/Note.test.ts on lines 91..93
    src/__test__/Domain/Note.test.ts on lines 95..97
    src/__test__/Domain/Note.test.ts on lines 99..101
    src/__test__/Domain/Note.test.ts on lines 103..105

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

        test('MajorSecond from C to D', () => {
          expect(note.transpose(Interval.MajorSecond).Pitch).toBe(Pitch.D);
        });
    Severity: Major
    Found in src/__test__/Domain/Note.test.ts and 15 other locations - About 40 mins to fix
    src/__test__/Domain/Note.test.ts on lines 43..45
    src/__test__/Domain/Note.test.ts on lines 47..49
    src/__test__/Domain/Note.test.ts on lines 55..57
    src/__test__/Domain/Note.test.ts on lines 59..61
    src/__test__/Domain/Note.test.ts on lines 63..65
    src/__test__/Domain/Note.test.ts on lines 67..69
    src/__test__/Domain/Note.test.ts on lines 71..73
    src/__test__/Domain/Note.test.ts on lines 75..77
    src/__test__/Domain/Note.test.ts on lines 79..81
    src/__test__/Domain/Note.test.ts on lines 83..85
    src/__test__/Domain/Note.test.ts on lines 87..89
    src/__test__/Domain/Note.test.ts on lines 91..93
    src/__test__/Domain/Note.test.ts on lines 95..97
    src/__test__/Domain/Note.test.ts on lines 99..101
    src/__test__/Domain/Note.test.ts on lines 103..105

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

        test('MinorThird from C to E flat', () => {
          expect(note.transpose(Interval.MinorThird).Pitch).toBe(Pitch.EFlat);
        });
    Severity: Major
    Found in src/__test__/Domain/Note.test.ts and 15 other locations - About 40 mins to fix
    src/__test__/Domain/Note.test.ts on lines 43..45
    src/__test__/Domain/Note.test.ts on lines 47..49
    src/__test__/Domain/Note.test.ts on lines 51..53
    src/__test__/Domain/Note.test.ts on lines 55..57
    src/__test__/Domain/Note.test.ts on lines 63..65
    src/__test__/Domain/Note.test.ts on lines 67..69
    src/__test__/Domain/Note.test.ts on lines 71..73
    src/__test__/Domain/Note.test.ts on lines 75..77
    src/__test__/Domain/Note.test.ts on lines 79..81
    src/__test__/Domain/Note.test.ts on lines 83..85
    src/__test__/Domain/Note.test.ts on lines 87..89
    src/__test__/Domain/Note.test.ts on lines 91..93
    src/__test__/Domain/Note.test.ts on lines 95..97
    src/__test__/Domain/Note.test.ts on lines 99..101
    src/__test__/Domain/Note.test.ts on lines 103..105

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

        test('PerfectFourth from C to F', () => {
          expect(note.transpose(Interval.PerfectFourth).Pitch).toBe(Pitch.F);
        });
    Severity: Major
    Found in src/__test__/Domain/Note.test.ts and 15 other locations - About 40 mins to fix
    src/__test__/Domain/Note.test.ts on lines 43..45
    src/__test__/Domain/Note.test.ts on lines 47..49
    src/__test__/Domain/Note.test.ts on lines 51..53
    src/__test__/Domain/Note.test.ts on lines 55..57
    src/__test__/Domain/Note.test.ts on lines 59..61
    src/__test__/Domain/Note.test.ts on lines 63..65
    src/__test__/Domain/Note.test.ts on lines 71..73
    src/__test__/Domain/Note.test.ts on lines 75..77
    src/__test__/Domain/Note.test.ts on lines 79..81
    src/__test__/Domain/Note.test.ts on lines 83..85
    src/__test__/Domain/Note.test.ts on lines 87..89
    src/__test__/Domain/Note.test.ts on lines 91..93
    src/__test__/Domain/Note.test.ts on lines 95..97
    src/__test__/Domain/Note.test.ts on lines 99..101
    src/__test__/Domain/Note.test.ts on lines 103..105

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

        test('Unison from C to C', () => {
          expect(note.transpose(Interval.Unison).Pitch).toBe(Pitch.C);
        });
    Severity: Major
    Found in src/__test__/Domain/Note.test.ts and 15 other locations - About 40 mins to fix
    src/__test__/Domain/Note.test.ts on lines 47..49
    src/__test__/Domain/Note.test.ts on lines 51..53
    src/__test__/Domain/Note.test.ts on lines 55..57
    src/__test__/Domain/Note.test.ts on lines 59..61
    src/__test__/Domain/Note.test.ts on lines 63..65
    src/__test__/Domain/Note.test.ts on lines 67..69
    src/__test__/Domain/Note.test.ts on lines 71..73
    src/__test__/Domain/Note.test.ts on lines 75..77
    src/__test__/Domain/Note.test.ts on lines 79..81
    src/__test__/Domain/Note.test.ts on lines 83..85
    src/__test__/Domain/Note.test.ts on lines 87..89
    src/__test__/Domain/Note.test.ts on lines 91..93
    src/__test__/Domain/Note.test.ts on lines 95..97
    src/__test__/Domain/Note.test.ts on lines 99..101
    src/__test__/Domain/Note.test.ts on lines 103..105

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

        test('MinorSixth from C to A flat', () => {
          expect(note.transpose(Interval.MinorSixth).Pitch).toBe(Pitch.AFlat);
        });
    Severity: Major
    Found in src/__test__/Domain/Note.test.ts and 15 other locations - About 40 mins to fix
    src/__test__/Domain/Note.test.ts on lines 43..45
    src/__test__/Domain/Note.test.ts on lines 47..49
    src/__test__/Domain/Note.test.ts on lines 51..53
    src/__test__/Domain/Note.test.ts on lines 55..57
    src/__test__/Domain/Note.test.ts on lines 59..61
    src/__test__/Domain/Note.test.ts on lines 63..65
    src/__test__/Domain/Note.test.ts on lines 67..69
    src/__test__/Domain/Note.test.ts on lines 71..73
    src/__test__/Domain/Note.test.ts on lines 75..77
    src/__test__/Domain/Note.test.ts on lines 79..81
    src/__test__/Domain/Note.test.ts on lines 83..85
    src/__test__/Domain/Note.test.ts on lines 91..93
    src/__test__/Domain/Note.test.ts on lines 95..97
    src/__test__/Domain/Note.test.ts on lines 99..101
    src/__test__/Domain/Note.test.ts on lines 103..105

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

        test('AugmentedFourth from C to F sharp', () => {
          expect(note.transpose(Interval.AugmentedFourth).Pitch).toBe(Pitch.FSharp);
        });
    Severity: Major
    Found in src/__test__/Domain/Note.test.ts and 15 other locations - About 40 mins to fix
    src/__test__/Domain/Note.test.ts on lines 43..45
    src/__test__/Domain/Note.test.ts on lines 47..49
    src/__test__/Domain/Note.test.ts on lines 51..53
    src/__test__/Domain/Note.test.ts on lines 55..57
    src/__test__/Domain/Note.test.ts on lines 59..61
    src/__test__/Domain/Note.test.ts on lines 63..65
    src/__test__/Domain/Note.test.ts on lines 67..69
    src/__test__/Domain/Note.test.ts on lines 75..77
    src/__test__/Domain/Note.test.ts on lines 79..81
    src/__test__/Domain/Note.test.ts on lines 83..85
    src/__test__/Domain/Note.test.ts on lines 87..89
    src/__test__/Domain/Note.test.ts on lines 91..93
    src/__test__/Domain/Note.test.ts on lines 95..97
    src/__test__/Domain/Note.test.ts on lines 99..101
    src/__test__/Domain/Note.test.ts on lines 103..105

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

        test('MajorSixth from C to A', () => {
          expect(note.transpose(Interval.MajorSixth).Pitch).toBe(Pitch.A);
        });
    Severity: Major
    Found in src/__test__/Domain/Note.test.ts and 15 other locations - About 40 mins to fix
    src/__test__/Domain/Note.test.ts on lines 43..45
    src/__test__/Domain/Note.test.ts on lines 47..49
    src/__test__/Domain/Note.test.ts on lines 51..53
    src/__test__/Domain/Note.test.ts on lines 55..57
    src/__test__/Domain/Note.test.ts on lines 59..61
    src/__test__/Domain/Note.test.ts on lines 63..65
    src/__test__/Domain/Note.test.ts on lines 67..69
    src/__test__/Domain/Note.test.ts on lines 71..73
    src/__test__/Domain/Note.test.ts on lines 75..77
    src/__test__/Domain/Note.test.ts on lines 79..81
    src/__test__/Domain/Note.test.ts on lines 83..85
    src/__test__/Domain/Note.test.ts on lines 87..89
    src/__test__/Domain/Note.test.ts on lines 95..97
    src/__test__/Domain/Note.test.ts on lines 99..101
    src/__test__/Domain/Note.test.ts on lines 103..105

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

        test('MajorThird from C to E', () => {
          expect(note.transpose(Interval.MajorThird).Pitch).toBe(Pitch.E);
        });
    Severity: Major
    Found in src/__test__/Domain/Note.test.ts and 15 other locations - About 40 mins to fix
    src/__test__/Domain/Note.test.ts on lines 43..45
    src/__test__/Domain/Note.test.ts on lines 47..49
    src/__test__/Domain/Note.test.ts on lines 51..53
    src/__test__/Domain/Note.test.ts on lines 55..57
    src/__test__/Domain/Note.test.ts on lines 59..61
    src/__test__/Domain/Note.test.ts on lines 67..69
    src/__test__/Domain/Note.test.ts on lines 71..73
    src/__test__/Domain/Note.test.ts on lines 75..77
    src/__test__/Domain/Note.test.ts on lines 79..81
    src/__test__/Domain/Note.test.ts on lines 83..85
    src/__test__/Domain/Note.test.ts on lines 87..89
    src/__test__/Domain/Note.test.ts on lines 91..93
    src/__test__/Domain/Note.test.ts on lines 95..97
    src/__test__/Domain/Note.test.ts on lines 99..101
    src/__test__/Domain/Note.test.ts on lines 103..105

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

        test('minor seventh from C to B flat', () => {
          expect(note.transpose(Interval.MinorSeventh).Pitch).toBe(Pitch.BFlat);
        });
    Severity: Major
    Found in src/__test__/Domain/Note.test.ts and 15 other locations - About 40 mins to fix
    src/__test__/Domain/Note.test.ts on lines 43..45
    src/__test__/Domain/Note.test.ts on lines 47..49
    src/__test__/Domain/Note.test.ts on lines 51..53
    src/__test__/Domain/Note.test.ts on lines 55..57
    src/__test__/Domain/Note.test.ts on lines 59..61
    src/__test__/Domain/Note.test.ts on lines 63..65
    src/__test__/Domain/Note.test.ts on lines 67..69
    src/__test__/Domain/Note.test.ts on lines 71..73
    src/__test__/Domain/Note.test.ts on lines 75..77
    src/__test__/Domain/Note.test.ts on lines 79..81
    src/__test__/Domain/Note.test.ts on lines 83..85
    src/__test__/Domain/Note.test.ts on lines 87..89
    src/__test__/Domain/Note.test.ts on lines 91..93
    src/__test__/Domain/Note.test.ts on lines 95..97
    src/__test__/Domain/Note.test.ts on lines 103..105

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

        test('AugmentedSecond from C to D sharp', () => {
          expect(note.transpose(Interval.AugmentedSecond).Pitch).toBe(Pitch.DSharp);
        });
    Severity: Major
    Found in src/__test__/Domain/Note.test.ts and 15 other locations - About 40 mins to fix
    src/__test__/Domain/Note.test.ts on lines 43..45
    src/__test__/Domain/Note.test.ts on lines 47..49
    src/__test__/Domain/Note.test.ts on lines 51..53
    src/__test__/Domain/Note.test.ts on lines 59..61
    src/__test__/Domain/Note.test.ts on lines 63..65
    src/__test__/Domain/Note.test.ts on lines 67..69
    src/__test__/Domain/Note.test.ts on lines 71..73
    src/__test__/Domain/Note.test.ts on lines 75..77
    src/__test__/Domain/Note.test.ts on lines 79..81
    src/__test__/Domain/Note.test.ts on lines 83..85
    src/__test__/Domain/Note.test.ts on lines 87..89
    src/__test__/Domain/Note.test.ts on lines 91..93
    src/__test__/Domain/Note.test.ts on lines 95..97
    src/__test__/Domain/Note.test.ts on lines 99..101
    src/__test__/Domain/Note.test.ts on lines 103..105

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

        test('PerfectFifth from C to G', () => {
          expect(note.transpose(Interval.PerfectFifth).Pitch).toBe(Pitch.G);
        });
    Severity: Major
    Found in src/__test__/Domain/Note.test.ts and 15 other locations - About 40 mins to fix
    src/__test__/Domain/Note.test.ts on lines 43..45
    src/__test__/Domain/Note.test.ts on lines 47..49
    src/__test__/Domain/Note.test.ts on lines 51..53
    src/__test__/Domain/Note.test.ts on lines 55..57
    src/__test__/Domain/Note.test.ts on lines 59..61
    src/__test__/Domain/Note.test.ts on lines 63..65
    src/__test__/Domain/Note.test.ts on lines 67..69
    src/__test__/Domain/Note.test.ts on lines 71..73
    src/__test__/Domain/Note.test.ts on lines 75..77
    src/__test__/Domain/Note.test.ts on lines 83..85
    src/__test__/Domain/Note.test.ts on lines 87..89
    src/__test__/Domain/Note.test.ts on lines 91..93
    src/__test__/Domain/Note.test.ts on lines 95..97
    src/__test__/Domain/Note.test.ts on lines 99..101
    src/__test__/Domain/Note.test.ts on lines 103..105

    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