pedromsantos/glenn

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

Summary

Maintainability
A
0 mins
Test Coverage

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

import * as fc from 'fast-check';

import { ChordFunction, ChordPattern, ClosedChord } from '../../Domain/Chord';
import { Duration } from '../../Domain/Duration';
import { Octave } from '../../Domain/Note';
Severity: Major
Found in src/__test__/Domain/Chord.test.ts - About 1 day to fix

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

      test('drop 2 chords inverted by the number of pitches become base root chords', () => {
        fc.assert(
          fc.property(
            fc.constantFrom(...Pitch.pitches),
            fc.constantFrom(...ChordPattern.patterns),
    Severity: Major
    Found in src/__test__/Domain/Chord.test.ts and 1 other location - About 1 day to fix
    src/__test__/Domain/Chord.test.ts on lines 738..763

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

    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('drop 3 chords inverted by the number of pitches become base root chords', () => {
        fc.assert(
          fc.property(
            fc.constantFrom(...Pitch.pitches),
            fc.constantFrom(...ChordPattern.patterns),
    Severity: Major
    Found in src/__test__/Domain/Chord.test.ts and 1 other location - About 1 day to fix
    src/__test__/Domain/Chord.test.ts on lines 711..736

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

    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('be able to be inverted to third inversion when in drop2 format', () => {
        const chord = new ClosedChord(Pitch.C, ChordPattern.Major7, Duration.Quarter, Octave.C4);
    
        const expectedPitches = [Pitch.B, Pitch.E, Pitch.G, Pitch.C];
        expect(Array.from(chord.drop2().invert().invert().invert()).map((p) => p.Name)).toStrictEqual(
    Severity: Major
    Found in src/__test__/Domain/Chord.test.ts and 1 other location - About 5 hrs to fix
    src/__test__/Domain/Chord.test.ts on lines 587..594

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

    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('be able to be inverted to third inversion when in drop3 format', () => {
        const chord = new ClosedChord(Pitch.C, ChordPattern.Major7, Duration.Quarter, Octave.C4);
    
        const expectedPitches = [Pitch.B, Pitch.G, Pitch.C, Pitch.E];
        expect(Array.from(chord.drop3().invert().invert().invert()).map((p) => p.Name)).toStrictEqual(
    Severity: Major
    Found in src/__test__/Domain/Chord.test.ts and 1 other location - About 5 hrs to fix
    src/__test__/Domain/Chord.test.ts on lines 560..567

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

    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('be able to be inverted to second inversion when in drop2 format', () => {
        const chord = new ClosedChord(Pitch.C, ChordPattern.Major7, Duration.Quarter, Octave.C4);
    
        const expectedPitches = [Pitch.G, Pitch.C, Pitch.E, Pitch.B];
        expect(Array.from(chord.drop2().invert().invert()).map((p) => p.Name)).toStrictEqual(
    Severity: Major
    Found in src/__test__/Domain/Chord.test.ts and 1 other location - About 5 hrs to fix
    src/__test__/Domain/Chord.test.ts on lines 578..585

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

    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('be able to be inverted to second inversion when in drop3 format', () => {
        const chord = new ClosedChord(Pitch.C, ChordPattern.Major7, Duration.Quarter, Octave.C4);
    
        const expectedPitches = [Pitch.G, Pitch.E, Pitch.B, Pitch.C];
        expect(Array.from(chord.drop3().invert().invert()).map((p) => p.Name)).toStrictEqual(
    Severity: Major
    Found in src/__test__/Domain/Chord.test.ts and 1 other location - About 5 hrs to fix
    src/__test__/Domain/Chord.test.ts on lines 551..558

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

    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('be able to be inverted to first inversion when in drop2 format', () => {
        const chord = new ClosedChord(Pitch.C, ChordPattern.Major7, Duration.Quarter, Octave.C4);
    
        const expectedPitches = [Pitch.E, Pitch.B, Pitch.C, Pitch.G];
        expect(Array.from(chord.drop2().invert()).map((p) => p.Name)).toStrictEqual(
    Severity: Major
    Found in src/__test__/Domain/Chord.test.ts and 1 other location - About 5 hrs to fix
    src/__test__/Domain/Chord.test.ts on lines 569..576

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

    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('be able to be inverted to first inversion when in drop3 format', () => {
        const chord = new ClosedChord(Pitch.C, ChordPattern.Major7, Duration.Quarter, Octave.C4);
    
        const expectedPitches = [Pitch.E, Pitch.C, Pitch.G, Pitch.B];
        expect(Array.from(chord.drop3().invert()).map((p) => p.Name)).toStrictEqual(
    Severity: Major
    Found in src/__test__/Domain/Chord.test.ts and 1 other location - About 5 hrs to fix
    src/__test__/Domain/Chord.test.ts on lines 542..549

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

    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('be able to remove Pitch for fifth', () => {
        const baseChord = new ClosedChord(
          Pitch.C,
          ChordPattern.Diminished7,
          Duration.Quarter,
    Severity: Major
    Found in src/__test__/Domain/Chord.test.ts and 1 other location - About 3 hrs to fix
    src/__test__/Domain/Chord.test.ts on lines 455..467

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

    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('be able to be transformed drop 2 chords to closed chords', () => {
        const chord = new ClosedChord(
          Pitch.C,
          ChordPattern.Major7,
          Duration.Quarter,
    Severity: Major
    Found in src/__test__/Domain/Chord.test.ts and 1 other location - About 3 hrs to fix
    src/__test__/Domain/Chord.test.ts on lines 530..540

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

    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('be able to be transformed drop 3 chords to closed chords', () => {
        const chord = new ClosedChord(
          Pitch.C,
          ChordPattern.Major7,
          Duration.Quarter,
    Severity: Major
    Found in src/__test__/Domain/Chord.test.ts and 1 other location - About 3 hrs to fix
    src/__test__/Domain/Chord.test.ts on lines 504..514

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

    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('be able to remove Pitch for seventh', () => {
        const baseChord = new ClosedChord(
          Pitch.C,
          ChordPattern.Diminished7,
          Duration.Quarter,
    Severity: Major
    Found in src/__test__/Domain/Chord.test.ts and 1 other location - About 3 hrs to fix
    src/__test__/Domain/Chord.test.ts on lines 413..425

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

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

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

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

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

    Refactorings

    Further Reading

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

      test('Have expected pitches for C11 chord', () => {
        const expectedPitches = [Pitch.C, Pitch.E, Pitch.G, Pitch.BFlat, Pitch.D, Pitch.F];
        const chordPitches = Array.from(
          new ClosedChord(Pitch.C, ChordPattern.Dominant11, Duration.Quarter, Octave.C4)
        );
    Severity: Major
    Found in src/__test__/Domain/Chord.test.ts and 2 other locations - About 3 hrs to fix
    src/__test__/Domain/Chord.test.ts on lines 97..103
    src/__test__/Domain/Chord.test.ts on lines 105..111

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

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

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

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

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

    Refactorings

    Further Reading

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

      test('Have expected pitches for C Major 9#11 chord', () => {
        const expectedPitches = [Pitch.C, Pitch.E, Pitch.G, Pitch.B, Pitch.D, Pitch.FSharp];
        const chordPitches = Array.from(
          new ClosedChord(Pitch.C, ChordPattern.Major9Sharp11, Duration.Quarter, Octave.C4)
        );
    Severity: Major
    Found in src/__test__/Domain/Chord.test.ts and 2 other locations - About 3 hrs to fix
    src/__test__/Domain/Chord.test.ts on lines 97..103
    src/__test__/Domain/Chord.test.ts on lines 163..169

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

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

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

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

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

    Refactorings

    Further Reading

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

      test('Have expected pitches for C Major 13#11 chord', () => {
        const expectedPitches = [Pitch.C, Pitch.E, Pitch.G, Pitch.B, Pitch.FSharp, Pitch.A];
        const chordPitches = Array.from(
          new ClosedChord(Pitch.C, ChordPattern.Major13Sharp11, Duration.Quarter, Octave.C4)
        );
    Severity: Major
    Found in src/__test__/Domain/Chord.test.ts and 2 other locations - About 3 hrs to fix
    src/__test__/Domain/Chord.test.ts on lines 105..111
    src/__test__/Domain/Chord.test.ts on lines 163..169

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

    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('be able to be transformed into drop 3 chords', () => {
        const chord = new ClosedChord(Pitch.C, ChordPattern.Major7, Duration.Quarter, Octave.C4);
    
        const expectedPitches = [Pitch.C, Pitch.B, Pitch.E, Pitch.G];
        expect(Array.from(chord.drop3())).toStrictEqual(expectedPitches);
    Severity: Major
    Found in src/__test__/Domain/Chord.test.ts and 1 other location - About 3 hrs to fix
    src/__test__/Domain/Chord.test.ts on lines 490..495

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

    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('be able to be transformed into drop 2 chords', () => {
        const chord = new ClosedChord(Pitch.C, ChordPattern.Major7, Duration.Quarter, Octave.C4);
    
        const expectedPitches = [Pitch.C, Pitch.G, Pitch.B, Pitch.E];
        expect(Array.from(chord.drop2())).toStrictEqual(expectedPitches);
    Severity: Major
    Found in src/__test__/Domain/Chord.test.ts and 1 other location - About 3 hrs to fix
    src/__test__/Domain/Chord.test.ts on lines 516..521

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

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

        test('Have expected pitches for C-9 chord', () => {
          const expectedPitches = [Pitch.C, Pitch.EFlat, Pitch.G, Pitch.BFlat, Pitch.D];
          const chordPitches = Array.from(
            new ClosedChord(Pitch.C, ChordPattern.Minor9, Duration.Quarter, Octave.C4)
          );
    Severity: Major
    Found in src/__test__/Domain/Chord.test.ts and 9 other locations - About 3 hrs to fix
    src/__test__/Domain/Chord.test.ts on lines 65..71
    src/__test__/Domain/Chord.test.ts on lines 81..87
    src/__test__/Domain/Chord.test.ts on lines 89..95
    src/__test__/Domain/Chord.test.ts on lines 139..145
    src/__test__/Domain/Chord.test.ts on lines 147..153
    src/__test__/Domain/Chord.test.ts on lines 155..161
    src/__test__/Domain/Chord.test.ts on lines 179..185
    src/__test__/Domain/Chord.test.ts on lines 204..210
    src/__test__/Domain/Chord.test.ts on lines 236..242

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

      test('Have expected pitches for C7#9 chord', () => {
        const expectedPitches = [Pitch.C, Pitch.E, Pitch.G, Pitch.BFlat, Pitch.DSharp];
        const chordPitches = Array.from(
          new ClosedChord(Pitch.C, ChordPattern.Dominant7Sharp9, Duration.Quarter, Octave.C4)
        );
    Severity: Major
    Found in src/__test__/Domain/Chord.test.ts and 9 other locations - About 3 hrs to fix
    src/__test__/Domain/Chord.test.ts on lines 65..71
    src/__test__/Domain/Chord.test.ts on lines 81..87
    src/__test__/Domain/Chord.test.ts on lines 89..95
    src/__test__/Domain/Chord.test.ts on lines 139..145
    src/__test__/Domain/Chord.test.ts on lines 147..153
    src/__test__/Domain/Chord.test.ts on lines 155..161
    src/__test__/Domain/Chord.test.ts on lines 204..210
    src/__test__/Domain/Chord.test.ts on lines 228..234
    src/__test__/Domain/Chord.test.ts on lines 236..242

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

      test('Have expected pitches for C Major 11 chord', () => {
        const expectedPitches = [Pitch.C, Pitch.E, Pitch.G, Pitch.B, Pitch.F];
        const chordPitches = Array.from(
          new ClosedChord(Pitch.C, ChordPattern.Major11, Duration.Quarter, Octave.C4)
        );
    Severity: Major
    Found in src/__test__/Domain/Chord.test.ts and 9 other locations - About 3 hrs to fix
    src/__test__/Domain/Chord.test.ts on lines 65..71
    src/__test__/Domain/Chord.test.ts on lines 81..87
    src/__test__/Domain/Chord.test.ts on lines 139..145
    src/__test__/Domain/Chord.test.ts on lines 147..153
    src/__test__/Domain/Chord.test.ts on lines 155..161
    src/__test__/Domain/Chord.test.ts on lines 179..185
    src/__test__/Domain/Chord.test.ts on lines 204..210
    src/__test__/Domain/Chord.test.ts on lines 228..234
    src/__test__/Domain/Chord.test.ts on lines 236..242

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

      test('Have expected pitches for C7b5#9 chord', () => {
        const expectedPitches = [Pitch.C, Pitch.E, Pitch.GFlat, Pitch.BFlat, Pitch.DSharp];
        const chordPitches = Array.from(
          new ClosedChord(Pitch.C, ChordPattern.Dominant7Flat5Sharp9, Duration.Quarter, Octave.C4)
        );
    Severity: Major
    Found in src/__test__/Domain/Chord.test.ts and 9 other locations - About 3 hrs to fix
    src/__test__/Domain/Chord.test.ts on lines 65..71
    src/__test__/Domain/Chord.test.ts on lines 81..87
    src/__test__/Domain/Chord.test.ts on lines 89..95
    src/__test__/Domain/Chord.test.ts on lines 139..145
    src/__test__/Domain/Chord.test.ts on lines 147..153
    src/__test__/Domain/Chord.test.ts on lines 179..185
    src/__test__/Domain/Chord.test.ts on lines 204..210
    src/__test__/Domain/Chord.test.ts on lines 228..234
    src/__test__/Domain/Chord.test.ts on lines 236..242

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

      test('Have expected pitches for C7b5b9 chord', () => {
        const expectedPitches = [Pitch.C, Pitch.E, Pitch.GFlat, Pitch.BFlat, Pitch.DFlat];
        const chordPitches = Array.from(
          new ClosedChord(Pitch.C, ChordPattern.Dominant7Flat5Flat9, Duration.Quarter, Octave.C4)
        );
    Severity: Major
    Found in src/__test__/Domain/Chord.test.ts and 9 other locations - About 3 hrs to fix
    src/__test__/Domain/Chord.test.ts on lines 65..71
    src/__test__/Domain/Chord.test.ts on lines 81..87
    src/__test__/Domain/Chord.test.ts on lines 89..95
    src/__test__/Domain/Chord.test.ts on lines 139..145
    src/__test__/Domain/Chord.test.ts on lines 155..161
    src/__test__/Domain/Chord.test.ts on lines 179..185
    src/__test__/Domain/Chord.test.ts on lines 204..210
    src/__test__/Domain/Chord.test.ts on lines 228..234
    src/__test__/Domain/Chord.test.ts on lines 236..242

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

      test('Have expected pitches for C Major 6 add 9 chord', () => {
        const expectedPitches = [Pitch.C, Pitch.E, Pitch.G, Pitch.A, Pitch.D];
        const chordPitches = Array.from(
          new ClosedChord(Pitch.C, ChordPattern.Major6Add9, Duration.Quarter, Octave.C4)
        );
    Severity: Major
    Found in src/__test__/Domain/Chord.test.ts and 9 other locations - About 3 hrs to fix
    src/__test__/Domain/Chord.test.ts on lines 81..87
    src/__test__/Domain/Chord.test.ts on lines 89..95
    src/__test__/Domain/Chord.test.ts on lines 139..145
    src/__test__/Domain/Chord.test.ts on lines 147..153
    src/__test__/Domain/Chord.test.ts on lines 155..161
    src/__test__/Domain/Chord.test.ts on lines 179..185
    src/__test__/Domain/Chord.test.ts on lines 204..210
    src/__test__/Domain/Chord.test.ts on lines 228..234
    src/__test__/Domain/Chord.test.ts on lines 236..242

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

      test('Have expected pitches for C9 chord', () => {
        const expectedPitches = [Pitch.C, Pitch.E, Pitch.G, Pitch.BFlat, Pitch.D];
        const chordPitches = Array.from(
          new ClosedChord(Pitch.C, ChordPattern.Dominant9, Duration.Quarter, Octave.C4)
        );
    Severity: Major
    Found in src/__test__/Domain/Chord.test.ts and 9 other locations - About 3 hrs to fix
    src/__test__/Domain/Chord.test.ts on lines 65..71
    src/__test__/Domain/Chord.test.ts on lines 81..87
    src/__test__/Domain/Chord.test.ts on lines 89..95
    src/__test__/Domain/Chord.test.ts on lines 147..153
    src/__test__/Domain/Chord.test.ts on lines 155..161
    src/__test__/Domain/Chord.test.ts on lines 179..185
    src/__test__/Domain/Chord.test.ts on lines 204..210
    src/__test__/Domain/Chord.test.ts on lines 228..234
    src/__test__/Domain/Chord.test.ts on lines 236..242

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

        test('Have expected pitches for C-6add9 chord', () => {
          const expectedPitches = [Pitch.C, Pitch.EFlat, Pitch.G, Pitch.A, Pitch.D];
          const chordPitches = Array.from(
            new ClosedChord(Pitch.C, ChordPattern.Minor6Add9, Duration.Quarter, Octave.C4)
          );
    Severity: Major
    Found in src/__test__/Domain/Chord.test.ts and 9 other locations - About 3 hrs to fix
    src/__test__/Domain/Chord.test.ts on lines 65..71
    src/__test__/Domain/Chord.test.ts on lines 81..87
    src/__test__/Domain/Chord.test.ts on lines 89..95
    src/__test__/Domain/Chord.test.ts on lines 139..145
    src/__test__/Domain/Chord.test.ts on lines 147..153
    src/__test__/Domain/Chord.test.ts on lines 155..161
    src/__test__/Domain/Chord.test.ts on lines 179..185
    src/__test__/Domain/Chord.test.ts on lines 228..234
    src/__test__/Domain/Chord.test.ts on lines 236..242

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

      test('Have expected pitches for C Major 9 chord', () => {
        const expectedPitches = [Pitch.C, Pitch.E, Pitch.G, Pitch.B, Pitch.D];
        const chordPitches = Array.from(
          new ClosedChord(Pitch.C, ChordPattern.Major9, Duration.Quarter, Octave.C4)
        );
    Severity: Major
    Found in src/__test__/Domain/Chord.test.ts and 9 other locations - About 3 hrs to fix
    src/__test__/Domain/Chord.test.ts on lines 65..71
    src/__test__/Domain/Chord.test.ts on lines 89..95
    src/__test__/Domain/Chord.test.ts on lines 139..145
    src/__test__/Domain/Chord.test.ts on lines 147..153
    src/__test__/Domain/Chord.test.ts on lines 155..161
    src/__test__/Domain/Chord.test.ts on lines 179..185
    src/__test__/Domain/Chord.test.ts on lines 204..210
    src/__test__/Domain/Chord.test.ts on lines 228..234
    src/__test__/Domain/Chord.test.ts on lines 236..242

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

        test('Have expected pitches for C-Maj9 chord', () => {
          const expectedPitches = [Pitch.C, Pitch.EFlat, Pitch.G, Pitch.B, Pitch.D];
          const chordPitches = Array.from(
            new ClosedChord(Pitch.C, ChordPattern.MinorMaj9, Duration.Quarter, Octave.C4)
          );
    Severity: Major
    Found in src/__test__/Domain/Chord.test.ts and 9 other locations - About 3 hrs to fix
    src/__test__/Domain/Chord.test.ts on lines 65..71
    src/__test__/Domain/Chord.test.ts on lines 81..87
    src/__test__/Domain/Chord.test.ts on lines 89..95
    src/__test__/Domain/Chord.test.ts on lines 139..145
    src/__test__/Domain/Chord.test.ts on lines 147..153
    src/__test__/Domain/Chord.test.ts on lines 155..161
    src/__test__/Domain/Chord.test.ts on lines 179..185
    src/__test__/Domain/Chord.test.ts on lines 204..210
    src/__test__/Domain/Chord.test.ts on lines 228..234

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

      test('be able to be inverted to first inversion', () => {
        const chord = new ClosedChord(Pitch.C, ChordPattern.Major, Duration.Quarter, Octave.C4);
    
        const expectedPitches = [Pitch.E, Pitch.G, Pitch.C];
        expect(Array.from(chord.invert())).toStrictEqual(expectedPitches);
    Severity: Major
    Found in src/__test__/Domain/Chord.test.ts and 2 other locations - About 3 hrs to fix
    src/__test__/Domain/Chord.test.ts on lines 497..502
    src/__test__/Domain/Chord.test.ts on lines 523..528

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

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

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

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

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

    Refactorings

    Further Reading

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

      test('not be able to be transformed into drop 2 chords when its a 3 note chord', () => {
        const chord = new ClosedChord(Pitch.C, ChordPattern.Major, Duration.Quarter, Octave.C4);
    
        const expectedPitches = [Pitch.C, Pitch.E, Pitch.G];
        expect(Array.from(chord.drop2())).toStrictEqual(expectedPitches);
    Severity: Major
    Found in src/__test__/Domain/Chord.test.ts and 2 other locations - About 3 hrs to fix
    src/__test__/Domain/Chord.test.ts on lines 469..474
    src/__test__/Domain/Chord.test.ts on lines 523..528

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

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

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

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

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

    Refactorings

    Further Reading

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

      test('not be able to be transformed into drop 3 chords when its a 3 note chord', () => {
        const chord = new ClosedChord(Pitch.C, ChordPattern.Major, Duration.Quarter, Octave.C4);
    
        const expectedPitches = [Pitch.C, Pitch.E, Pitch.G];
        expect(Array.from(chord.drop3())).toStrictEqual(expectedPitches);
    Severity: Major
    Found in src/__test__/Domain/Chord.test.ts and 2 other locations - About 3 hrs to fix
    src/__test__/Domain/Chord.test.ts on lines 469..474
    src/__test__/Domain/Chord.test.ts on lines 497..502

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

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

      test('Have expected pitches for CMaj7#5 chord', () => {
        const expectedPitches = [Pitch.C, Pitch.E, Pitch.GSharp, Pitch.B];
        const chordPitches = Array.from(
          new ClosedChord(Pitch.C, ChordPattern.Augmented7, Duration.Quarter, Octave.C4)
        );
    Severity: Major
    Found in src/__test__/Domain/Chord.test.ts and 8 other locations - About 2 hrs to fix
    src/__test__/Domain/Chord.test.ts on lines 57..63
    src/__test__/Domain/Chord.test.ts on lines 73..79
    src/__test__/Domain/Chord.test.ts on lines 131..137
    src/__test__/Domain/Chord.test.ts on lines 196..202
    src/__test__/Domain/Chord.test.ts on lines 212..218
    src/__test__/Domain/Chord.test.ts on lines 220..226
    src/__test__/Domain/Chord.test.ts on lines 244..250
    src/__test__/Domain/Chord.test.ts on lines 262..268

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

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

        test('Have expected pitches for C-6 chord', () => {
          const expectedPitches = [Pitch.C, Pitch.EFlat, Pitch.G, Pitch.A];
          const chordPitches = Array.from(
            new ClosedChord(Pitch.C, ChordPattern.Minor6, Duration.Quarter, Octave.C4)
          );
    Severity: Major
    Found in src/__test__/Domain/Chord.test.ts and 8 other locations - About 2 hrs to fix
    src/__test__/Domain/Chord.test.ts on lines 57..63
    src/__test__/Domain/Chord.test.ts on lines 73..79
    src/__test__/Domain/Chord.test.ts on lines 113..119
    src/__test__/Domain/Chord.test.ts on lines 131..137
    src/__test__/Domain/Chord.test.ts on lines 212..218
    src/__test__/Domain/Chord.test.ts on lines 220..226
    src/__test__/Domain/Chord.test.ts on lines 244..250
    src/__test__/Domain/Chord.test.ts on lines 262..268

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

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

        test('Have expected pitches for Cdim7 chord', () => {
          const expectedPitches = [Pitch.C, Pitch.EFlat, Pitch.GFlat, Pitch.A];
          const chordPitches = Array.from(
            new ClosedChord(Pitch.C, ChordPattern.Diminished7, Duration.Quarter, Octave.C4)
          );
    Severity: Major
    Found in src/__test__/Domain/Chord.test.ts and 8 other locations - About 2 hrs to fix
    src/__test__/Domain/Chord.test.ts on lines 57..63
    src/__test__/Domain/Chord.test.ts on lines 73..79
    src/__test__/Domain/Chord.test.ts on lines 113..119
    src/__test__/Domain/Chord.test.ts on lines 131..137
    src/__test__/Domain/Chord.test.ts on lines 196..202
    src/__test__/Domain/Chord.test.ts on lines 212..218
    src/__test__/Domain/Chord.test.ts on lines 220..226
    src/__test__/Domain/Chord.test.ts on lines 244..250

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

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

      test('Have expected pitches for C Major 7 chord', () => {
        const expectedPitches = [Pitch.C, Pitch.E, Pitch.G, Pitch.B];
        const chordPitches = Array.from(
          new ClosedChord(Pitch.C, ChordPattern.Major7, Duration.Quarter, Octave.C4)
        );
    Severity: Major
    Found in src/__test__/Domain/Chord.test.ts and 8 other locations - About 2 hrs to fix
    src/__test__/Domain/Chord.test.ts on lines 57..63
    src/__test__/Domain/Chord.test.ts on lines 113..119
    src/__test__/Domain/Chord.test.ts on lines 131..137
    src/__test__/Domain/Chord.test.ts on lines 196..202
    src/__test__/Domain/Chord.test.ts on lines 212..218
    src/__test__/Domain/Chord.test.ts on lines 220..226
    src/__test__/Domain/Chord.test.ts on lines 244..250
    src/__test__/Domain/Chord.test.ts on lines 262..268

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

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

        test('Have expected pitches for C-7 chord', () => {
          const expectedPitches = [Pitch.C, Pitch.EFlat, Pitch.G, Pitch.BFlat];
          const chordPitches = Array.from(
            new ClosedChord(Pitch.C, ChordPattern.Minor7, Duration.Quarter, Octave.C4)
          );
    Severity: Major
    Found in src/__test__/Domain/Chord.test.ts and 8 other locations - About 2 hrs to fix
    src/__test__/Domain/Chord.test.ts on lines 57..63
    src/__test__/Domain/Chord.test.ts on lines 73..79
    src/__test__/Domain/Chord.test.ts on lines 113..119
    src/__test__/Domain/Chord.test.ts on lines 131..137
    src/__test__/Domain/Chord.test.ts on lines 196..202
    src/__test__/Domain/Chord.test.ts on lines 220..226
    src/__test__/Domain/Chord.test.ts on lines 244..250
    src/__test__/Domain/Chord.test.ts on lines 262..268

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

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

        test('Have expected pitches for C-Maj7 chord', () => {
          const expectedPitches = [Pitch.C, Pitch.EFlat, Pitch.G, Pitch.B];
          const chordPitches = Array.from(
            new ClosedChord(Pitch.C, ChordPattern.MinorMaj7, Duration.Quarter, Octave.C4)
          );
    Severity: Major
    Found in src/__test__/Domain/Chord.test.ts and 8 other locations - About 2 hrs to fix
    src/__test__/Domain/Chord.test.ts on lines 57..63
    src/__test__/Domain/Chord.test.ts on lines 73..79
    src/__test__/Domain/Chord.test.ts on lines 113..119
    src/__test__/Domain/Chord.test.ts on lines 131..137
    src/__test__/Domain/Chord.test.ts on lines 196..202
    src/__test__/Domain/Chord.test.ts on lines 212..218
    src/__test__/Domain/Chord.test.ts on lines 244..250
    src/__test__/Domain/Chord.test.ts on lines 262..268

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

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

      test('Have expected pitches for C Major 6 chord', () => {
        const expectedPitches = [Pitch.C, Pitch.E, Pitch.G, Pitch.A];
        const chordPitches = Array.from(
          new ClosedChord(Pitch.C, ChordPattern.Major6, Duration.Quarter, Octave.C4)
        );
    Severity: Major
    Found in src/__test__/Domain/Chord.test.ts and 8 other locations - About 2 hrs to fix
    src/__test__/Domain/Chord.test.ts on lines 73..79
    src/__test__/Domain/Chord.test.ts on lines 113..119
    src/__test__/Domain/Chord.test.ts on lines 131..137
    src/__test__/Domain/Chord.test.ts on lines 196..202
    src/__test__/Domain/Chord.test.ts on lines 212..218
    src/__test__/Domain/Chord.test.ts on lines 220..226
    src/__test__/Domain/Chord.test.ts on lines 244..250
    src/__test__/Domain/Chord.test.ts on lines 262..268

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

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

      test('Have expected pitches for C7 chord', () => {
        const expectedPitches = [Pitch.C, Pitch.E, Pitch.G, Pitch.BFlat];
        const chordPitches = Array.from(
          new ClosedChord(Pitch.C, ChordPattern.Dominant7, Duration.Quarter, Octave.C4)
        );
    Severity: Major
    Found in src/__test__/Domain/Chord.test.ts and 8 other locations - About 2 hrs to fix
    src/__test__/Domain/Chord.test.ts on lines 57..63
    src/__test__/Domain/Chord.test.ts on lines 73..79
    src/__test__/Domain/Chord.test.ts on lines 113..119
    src/__test__/Domain/Chord.test.ts on lines 196..202
    src/__test__/Domain/Chord.test.ts on lines 212..218
    src/__test__/Domain/Chord.test.ts on lines 220..226
    src/__test__/Domain/Chord.test.ts on lines 244..250
    src/__test__/Domain/Chord.test.ts on lines 262..268

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

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

        test('Have expected pitches for C-7b5 chord', () => {
          const expectedPitches = [Pitch.C, Pitch.EFlat, Pitch.GFlat, Pitch.BFlat];
          const chordPitches = Array.from(
            new ClosedChord(Pitch.C, ChordPattern.Minor7b5, Duration.Quarter, Octave.C4)
          );
    Severity: Major
    Found in src/__test__/Domain/Chord.test.ts and 8 other locations - About 2 hrs to fix
    src/__test__/Domain/Chord.test.ts on lines 57..63
    src/__test__/Domain/Chord.test.ts on lines 73..79
    src/__test__/Domain/Chord.test.ts on lines 113..119
    src/__test__/Domain/Chord.test.ts on lines 131..137
    src/__test__/Domain/Chord.test.ts on lines 196..202
    src/__test__/Domain/Chord.test.ts on lines 212..218
    src/__test__/Domain/Chord.test.ts on lines 220..226
    src/__test__/Domain/Chord.test.ts on lines 262..268

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

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

        test('Have expected pitches for Cdim chord', () => {
          const expectedPitches = [Pitch.C, Pitch.EFlat, Pitch.GFlat];
          const chordPitches = Array.from(
            new ClosedChord(Pitch.C, ChordPattern.Diminished, Duration.Quarter, Octave.C4)
          );
    Severity: Major
    Found in src/__test__/Domain/Chord.test.ts and 8 other locations - About 2 hrs to fix
    src/__test__/Domain/Chord.test.ts on lines 49..55
    src/__test__/Domain/Chord.test.ts on lines 121..127
    src/__test__/Domain/Chord.test.ts on lines 188..194
    src/__test__/Domain/Chord.test.ts on lines 272..278
    src/__test__/Domain/Chord.test.ts on lines 280..286
    src/__test__/Domain/Chord.test.ts on lines 288..294
    src/__test__/Domain/Chord.test.ts on lines 296..302
    src/__test__/Domain/Chord.test.ts on lines 304..310

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

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

        test('Have expected pitches for CSus4dim chord', () => {
          const expectedPitches = [Pitch.C, Pitch.F, Pitch.GFlat];
          const chordPitches = Array.from(
            new ClosedChord(Pitch.C, ChordPattern.Sus4Diminished, Duration.Quarter, Octave.C4)
          );
    Severity: Major
    Found in src/__test__/Domain/Chord.test.ts and 8 other locations - About 2 hrs to fix
    src/__test__/Domain/Chord.test.ts on lines 49..55
    src/__test__/Domain/Chord.test.ts on lines 121..127
    src/__test__/Domain/Chord.test.ts on lines 188..194
    src/__test__/Domain/Chord.test.ts on lines 254..260
    src/__test__/Domain/Chord.test.ts on lines 272..278
    src/__test__/Domain/Chord.test.ts on lines 280..286
    src/__test__/Domain/Chord.test.ts on lines 288..294
    src/__test__/Domain/Chord.test.ts on lines 296..302

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

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

        test('Have expected pitches for CSus2 chord', () => {
          const expectedPitches = [Pitch.C, Pitch.D, Pitch.G];
          const chordPitches = Array.from(
            new ClosedChord(Pitch.C, ChordPattern.Sus2, Duration.Quarter, Octave.C4)
          );
    Severity: Major
    Found in src/__test__/Domain/Chord.test.ts and 8 other locations - About 2 hrs to fix
    src/__test__/Domain/Chord.test.ts on lines 49..55
    src/__test__/Domain/Chord.test.ts on lines 121..127
    src/__test__/Domain/Chord.test.ts on lines 188..194
    src/__test__/Domain/Chord.test.ts on lines 254..260
    src/__test__/Domain/Chord.test.ts on lines 280..286
    src/__test__/Domain/Chord.test.ts on lines 288..294
    src/__test__/Domain/Chord.test.ts on lines 296..302
    src/__test__/Domain/Chord.test.ts on lines 304..310

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

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

        test('Have expected pitches for CSus2aug chord', () => {
          const expectedPitches = [Pitch.C, Pitch.D, Pitch.GSharp];
          const chordPitches = Array.from(
            new ClosedChord(Pitch.C, ChordPattern.Sus2Augmented, Duration.Quarter, Octave.C4)
          );
    Severity: Major
    Found in src/__test__/Domain/Chord.test.ts and 8 other locations - About 2 hrs to fix
    src/__test__/Domain/Chord.test.ts on lines 49..55
    src/__test__/Domain/Chord.test.ts on lines 121..127
    src/__test__/Domain/Chord.test.ts on lines 188..194
    src/__test__/Domain/Chord.test.ts on lines 254..260
    src/__test__/Domain/Chord.test.ts on lines 272..278
    src/__test__/Domain/Chord.test.ts on lines 280..286
    src/__test__/Domain/Chord.test.ts on lines 296..302
    src/__test__/Domain/Chord.test.ts on lines 304..310

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

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

      test('Have expected pitches for CAug chord', () => {
        const expectedPitches = [Pitch.C, Pitch.E, Pitch.GSharp];
        const chordPitches = Array.from(
          new ClosedChord(Pitch.C, ChordPattern.Augmented, Duration.Quarter, Octave.C4)
        );
    Severity: Major
    Found in src/__test__/Domain/Chord.test.ts and 8 other locations - About 2 hrs to fix
    src/__test__/Domain/Chord.test.ts on lines 49..55
    src/__test__/Domain/Chord.test.ts on lines 188..194
    src/__test__/Domain/Chord.test.ts on lines 254..260
    src/__test__/Domain/Chord.test.ts on lines 272..278
    src/__test__/Domain/Chord.test.ts on lines 280..286
    src/__test__/Domain/Chord.test.ts on lines 288..294
    src/__test__/Domain/Chord.test.ts on lines 296..302
    src/__test__/Domain/Chord.test.ts on lines 304..310

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

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

        test('Have expected pitches for C- chord', () => {
          const expectedPitches = [Pitch.C, Pitch.EFlat, Pitch.G];
          const chordPitches = Array.from(
            new ClosedChord(Pitch.C, ChordPattern.Minor, Duration.Quarter, Octave.C4)
          );
    Severity: Major
    Found in src/__test__/Domain/Chord.test.ts and 8 other locations - About 2 hrs to fix
    src/__test__/Domain/Chord.test.ts on lines 49..55
    src/__test__/Domain/Chord.test.ts on lines 121..127
    src/__test__/Domain/Chord.test.ts on lines 254..260
    src/__test__/Domain/Chord.test.ts on lines 272..278
    src/__test__/Domain/Chord.test.ts on lines 280..286
    src/__test__/Domain/Chord.test.ts on lines 288..294
    src/__test__/Domain/Chord.test.ts on lines 296..302
    src/__test__/Domain/Chord.test.ts on lines 304..310

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

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

        test('Have expected pitches for CSus2dim chord', () => {
          const expectedPitches = [Pitch.C, Pitch.D, Pitch.GFlat];
          const chordPitches = Array.from(
            new ClosedChord(Pitch.C, ChordPattern.Sus2Diminished, Duration.Quarter, Octave.C4)
          );
    Severity: Major
    Found in src/__test__/Domain/Chord.test.ts and 8 other locations - About 2 hrs to fix
    src/__test__/Domain/Chord.test.ts on lines 49..55
    src/__test__/Domain/Chord.test.ts on lines 121..127
    src/__test__/Domain/Chord.test.ts on lines 188..194
    src/__test__/Domain/Chord.test.ts on lines 254..260
    src/__test__/Domain/Chord.test.ts on lines 272..278
    src/__test__/Domain/Chord.test.ts on lines 288..294
    src/__test__/Domain/Chord.test.ts on lines 296..302
    src/__test__/Domain/Chord.test.ts on lines 304..310

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

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

      test('Have expected pitches for C Major chord', () => {
        const expectedPitches = [Pitch.C, Pitch.E, Pitch.G];
        const chordPitches = Array.from(
          new ClosedChord(Pitch.C, ChordPattern.Major, Duration.Quarter, Octave.C4)
        );
    Severity: Major
    Found in src/__test__/Domain/Chord.test.ts and 8 other locations - About 2 hrs to fix
    src/__test__/Domain/Chord.test.ts on lines 121..127
    src/__test__/Domain/Chord.test.ts on lines 188..194
    src/__test__/Domain/Chord.test.ts on lines 254..260
    src/__test__/Domain/Chord.test.ts on lines 272..278
    src/__test__/Domain/Chord.test.ts on lines 280..286
    src/__test__/Domain/Chord.test.ts on lines 288..294
    src/__test__/Domain/Chord.test.ts on lines 296..302
    src/__test__/Domain/Chord.test.ts on lines 304..310

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

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

        test('Have expected pitches for CSus4 chord', () => {
          const expectedPitches = [Pitch.C, Pitch.F, Pitch.G];
          const chordPitches = Array.from(
            new ClosedChord(Pitch.C, ChordPattern.Sus4, Duration.Quarter, Octave.C4)
          );
    Severity: Major
    Found in src/__test__/Domain/Chord.test.ts and 8 other locations - About 2 hrs to fix
    src/__test__/Domain/Chord.test.ts on lines 49..55
    src/__test__/Domain/Chord.test.ts on lines 121..127
    src/__test__/Domain/Chord.test.ts on lines 188..194
    src/__test__/Domain/Chord.test.ts on lines 254..260
    src/__test__/Domain/Chord.test.ts on lines 272..278
    src/__test__/Domain/Chord.test.ts on lines 280..286
    src/__test__/Domain/Chord.test.ts on lines 288..294
    src/__test__/Domain/Chord.test.ts on lines 304..310

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

    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('Converting a drop 3 chord to drop 3 returns same chord', () => {
        const chord = new ClosedChord(Pitch.C, ChordPattern.Major7, Duration.Quarter, Octave.C4);
        const drop = chord.drop3();
        const other = drop.drop3();
    
    
    Severity: Major
    Found in src/__test__/Domain/Chord.test.ts and 1 other location - About 2 hrs to fix
    src/__test__/Domain/Chord.test.ts on lines 619..625

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

    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('Converting a drop 2 chord to drop 2 returns same chord', () => {
        const chord = new ClosedChord(Pitch.C, ChordPattern.Major7, Duration.Quarter, Octave.C4);
        const drop = chord.drop2();
        const other = drop.drop2();
    
    
    Severity: Major
    Found in src/__test__/Domain/Chord.test.ts and 1 other location - About 2 hrs to fix
    src/__test__/Domain/Chord.test.ts on lines 627..633

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

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

      test('be able to identify Pitch for root', () => {
        const expectedPitch = Pitch.C;
        const pitch = new ClosedChord(
          Pitch.C,
          ChordPattern.Diminished,
    Severity: Major
    Found in src/__test__/Domain/Chord.test.ts and 4 other locations - About 2 hrs to fix
    src/__test__/Domain/Chord.test.ts on lines 369..378
    src/__test__/Domain/Chord.test.ts on lines 380..389
    src/__test__/Domain/Chord.test.ts on lines 391..400
    src/__test__/Domain/Chord.test.ts on lines 402..411

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

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

      test('be able to identify Pitch for fifth', () => {
        const expectedPitch = Pitch.GFlat;
        const pitch = new ClosedChord(
          Pitch.C,
          ChordPattern.Diminished,
    Severity: Major
    Found in src/__test__/Domain/Chord.test.ts and 4 other locations - About 2 hrs to fix
    src/__test__/Domain/Chord.test.ts on lines 358..367
    src/__test__/Domain/Chord.test.ts on lines 369..378
    src/__test__/Domain/Chord.test.ts on lines 380..389
    src/__test__/Domain/Chord.test.ts on lines 391..400

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

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

      test('be able to identify Pitch for third on sus4 chords', () => {
        const expectedPitch = Pitch.F;
        const pitch = new ClosedChord(
          Pitch.C,
          ChordPattern.Sus4,
    Severity: Major
    Found in src/__test__/Domain/Chord.test.ts and 4 other locations - About 2 hrs to fix
    src/__test__/Domain/Chord.test.ts on lines 358..367
    src/__test__/Domain/Chord.test.ts on lines 369..378
    src/__test__/Domain/Chord.test.ts on lines 380..389
    src/__test__/Domain/Chord.test.ts on lines 402..411

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

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

      test('be able to identify Pitch for third on sus2 chords', () => {
        const expectedPitch = Pitch.D;
        const pitch = new ClosedChord(
          Pitch.C,
          ChordPattern.Sus2,
    Severity: Major
    Found in src/__test__/Domain/Chord.test.ts and 4 other locations - About 2 hrs to fix
    src/__test__/Domain/Chord.test.ts on lines 358..367
    src/__test__/Domain/Chord.test.ts on lines 369..378
    src/__test__/Domain/Chord.test.ts on lines 391..400
    src/__test__/Domain/Chord.test.ts on lines 402..411

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

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

      test('be able to identify Pitch for third', () => {
        const expectedPitch = Pitch.EFlat;
        const pitch = new ClosedChord(
          Pitch.C,
          ChordPattern.Diminished,
    Severity: Major
    Found in src/__test__/Domain/Chord.test.ts and 4 other locations - About 2 hrs to fix
    src/__test__/Domain/Chord.test.ts on lines 358..367
    src/__test__/Domain/Chord.test.ts on lines 380..389
    src/__test__/Domain/Chord.test.ts on lines 391..400
    src/__test__/Domain/Chord.test.ts on lines 402..411

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

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

      test('have a third', () => {
        const chord = new ClosedChord(Pitch.C, ChordPattern.Major, Duration.Quarter, Octave.C4);
        expect(chord.pitchForFunction(ChordFunction.Third)).toBe(Pitch.E);
      });
    Severity: Major
    Found in src/__test__/Domain/Chord.test.ts and 6 other locations - About 1 hr to fix
    src/__test__/Domain/Chord.test.ts on lines 14..17
    src/__test__/Domain/Chord.test.ts on lines 24..27
    src/__test__/Domain/Chord.test.ts on lines 29..32
    src/__test__/Domain/Chord.test.ts on lines 34..37
    src/__test__/Domain/Chord.test.ts on lines 39..42
    src/__test__/Domain/Chord.test.ts on lines 44..47

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

      test('have a fifth', () => {
        const chord = new ClosedChord(Pitch.C, ChordPattern.Major, Duration.Quarter, Octave.C4);
        expect(chord.pitchForFunction(ChordFunction.Fifth)).toBe(Pitch.G);
      });
    Severity: Major
    Found in src/__test__/Domain/Chord.test.ts and 6 other locations - About 1 hr to fix
    src/__test__/Domain/Chord.test.ts on lines 14..17
    src/__test__/Domain/Chord.test.ts on lines 19..22
    src/__test__/Domain/Chord.test.ts on lines 29..32
    src/__test__/Domain/Chord.test.ts on lines 34..37
    src/__test__/Domain/Chord.test.ts on lines 39..42
    src/__test__/Domain/Chord.test.ts on lines 44..47

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

      test('have an eleventh', () => {
        const chord = new ClosedChord(Pitch.C, ChordPattern.Major11, Duration.Quarter, Octave.C4);
        expect(chord.pitchForFunction(ChordFunction.Eleventh)).toBe(Pitch.F);
      });
    Severity: Major
    Found in src/__test__/Domain/Chord.test.ts and 6 other locations - About 1 hr to fix
    src/__test__/Domain/Chord.test.ts on lines 14..17
    src/__test__/Domain/Chord.test.ts on lines 19..22
    src/__test__/Domain/Chord.test.ts on lines 24..27
    src/__test__/Domain/Chord.test.ts on lines 29..32
    src/__test__/Domain/Chord.test.ts on lines 34..37
    src/__test__/Domain/Chord.test.ts on lines 44..47

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

      test('have a thirteenth', () => {
        const chord = new ClosedChord(Pitch.C, ChordPattern.Major13, Duration.Quarter, Octave.C4);
        expect(chord.pitchForFunction(ChordFunction.Thirteenth)).toBe(Pitch.A);
      });
    Severity: Major
    Found in src/__test__/Domain/Chord.test.ts and 6 other locations - About 1 hr to fix
    src/__test__/Domain/Chord.test.ts on lines 14..17
    src/__test__/Domain/Chord.test.ts on lines 19..22
    src/__test__/Domain/Chord.test.ts on lines 24..27
    src/__test__/Domain/Chord.test.ts on lines 29..32
    src/__test__/Domain/Chord.test.ts on lines 34..37
    src/__test__/Domain/Chord.test.ts on lines 39..42

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

      test('have a seventh', () => {
        const chord = new ClosedChord(Pitch.C, ChordPattern.Major7, Duration.Quarter, Octave.C4);
        expect(chord.pitchForFunction(ChordFunction.Seventh)).toBe(Pitch.B);
      });
    Severity: Major
    Found in src/__test__/Domain/Chord.test.ts and 6 other locations - About 1 hr to fix
    src/__test__/Domain/Chord.test.ts on lines 14..17
    src/__test__/Domain/Chord.test.ts on lines 19..22
    src/__test__/Domain/Chord.test.ts on lines 24..27
    src/__test__/Domain/Chord.test.ts on lines 34..37
    src/__test__/Domain/Chord.test.ts on lines 39..42
    src/__test__/Domain/Chord.test.ts on lines 44..47

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

      test('have a root', () => {
        const chord = new ClosedChord(Pitch.C, ChordPattern.Major, Duration.Quarter, Octave.C4);
        expect(chord.pitchForFunction(ChordFunction.Root)).toBe(Pitch.C);
      });
    Severity: Major
    Found in src/__test__/Domain/Chord.test.ts and 6 other locations - About 1 hr to fix
    src/__test__/Domain/Chord.test.ts on lines 19..22
    src/__test__/Domain/Chord.test.ts on lines 24..27
    src/__test__/Domain/Chord.test.ts on lines 29..32
    src/__test__/Domain/Chord.test.ts on lines 34..37
    src/__test__/Domain/Chord.test.ts on lines 39..42
    src/__test__/Domain/Chord.test.ts on lines 44..47

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

      test('have a ninth', () => {
        const chord = new ClosedChord(Pitch.C, ChordPattern.Major9, Duration.Quarter, Octave.C4);
        expect(chord.pitchForFunction(ChordFunction.Ninth)).toBe(Pitch.D);
      });
    Severity: Major
    Found in src/__test__/Domain/Chord.test.ts and 6 other locations - About 1 hr to fix
    src/__test__/Domain/Chord.test.ts on lines 14..17
    src/__test__/Domain/Chord.test.ts on lines 19..22
    src/__test__/Domain/Chord.test.ts on lines 24..27
    src/__test__/Domain/Chord.test.ts on lines 29..32
    src/__test__/Domain/Chord.test.ts on lines 39..42
    src/__test__/Domain/Chord.test.ts on lines 44..47

    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('have bass note equal to root when not inverted', () => {
        const expectedPitch = Pitch.C;
        const pitch = new ClosedChord(Pitch.C, ChordPattern.Diminished, Duration.Quarter, Octave.C4)
          .Bass;
        expect(pitch).toStrictEqual(expectedPitch);
    Severity: Major
    Found in src/__test__/Domain/Chord.test.ts and 1 other location - About 1 hr to fix
    src/__test__/Domain/Chord.test.ts on lines 351..356

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

    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('Have lead note equal to fifth for triads when not inverted', () => {
        const expectedPitch = Pitch.GFlat;
        const pitch = new ClosedChord(Pitch.C, ChordPattern.Diminished, Duration.Quarter, Octave.C4)
          .Lead;
        expect(pitch).toStrictEqual(expectedPitch);
    Severity: Major
    Found in src/__test__/Domain/Chord.test.ts and 1 other location - About 1 hr to fix
    src/__test__/Domain/Chord.test.ts on lines 344..349

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

    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('be named after the root note and the quality', () => {
        const name = new ClosedChord(Pitch.C, ChordPattern.Minor7b5, Duration.Quarter, Octave.C4).Name;
        expect(name).toBe('CMinor 7 b5');
      });
    Severity: Major
    Found in src/__test__/Domain/Chord.test.ts and 1 other location - About 1 hr to fix
    src/__test__/Domain/Chord.test.ts on lines 338..342

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

    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('be named after the root note and the abbreviated quality', () => {
        const name = new ClosedChord(Pitch.C, ChordPattern.Diminished7, Duration.Quarter, Octave.C4)
          .Abbreviation;
        expect(name).toBe('Cdim7');
      });
    Severity: Major
    Found in src/__test__/Domain/Chord.test.ts and 1 other location - About 1 hr to fix
    src/__test__/Domain/Chord.test.ts on lines 333..336

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

    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