Skip to content

Commit

Permalink
Add additional tests of Objects for PVGenerator
Browse files Browse the repository at this point in the history
Updated files in tsconifg, index.ts 
Added NPM-debug.log to gitingore
  • Loading branch information
rwaskiewicz committed Aug 12, 2017
1 parent 5071ed8 commit 2f2f3ff
Show file tree
Hide file tree
Showing 5 changed files with 64 additions and 2 deletions.
3 changes: 2 additions & 1 deletion .gitignore
Original file line number Diff line number Diff line change
@@ -1,3 +1,4 @@
coverage/
node_modules/
dist/
dist/
npm-debug.log
47 changes: 47 additions & 0 deletions src/factoryMate/generators/ProvidedValueGenerator.spec.ts
Original file line number Diff line number Diff line change
@@ -1,4 +1,5 @@
import { ProvidedValueGenerator } from './ProvidedValueGenerator';
import { SampleItem } from './test-fixtures/SampleItem';

describe('ProvidedValueGenerator', () => {
describe('nextValue(): string', () => {
Expand Down Expand Up @@ -76,4 +77,50 @@ describe('ProvidedValueGenerator', () => {
expect(() => providedValueGenerator.nextValue()).toThrowError('Out of bounds!');
});
});

describe('nextValue(): SampleItem', () => {
let providedValueGenerator: ProvidedValueGenerator<SampleItem>;
let providedSampleItems: SampleItem[];

beforeEach(() => {
const providedSampleItemOne = new SampleItem(1, 'Sample Item 1');
const providedSampleItemTwo = new SampleItem(2, 'Sample Item 2');
const providedSampleItemThree = new SampleItem(3, 'Sample Item 3');
providedSampleItems = [providedSampleItemOne, providedSampleItemTwo, providedSampleItemThree];

providedValueGenerator = new ProvidedValueGenerator(providedSampleItems);
});

it('returns the first value correctly', () => {
const firstValue = providedValueGenerator.nextValue();

expect(firstValue.id).toBe(1);
expect(firstValue.name).toBe('Sample Item 1');
});

it('returns the second value correctly', () => {
providedValueGenerator.nextValue();
const secondValue = providedValueGenerator.nextValue();

expect(secondValue.id).toBe(2);
expect(secondValue.name).toBe('Sample Item 2');
});

it('returns the third value correctly', () => {
providedValueGenerator.nextValue();
providedValueGenerator.nextValue();
const thirdValue = providedValueGenerator.nextValue();

expect(thirdValue.id).toBe(3);
expect(thirdValue.name).toBe('Sample Item 3');
});

it('throws an error when no more provided values exist', () => {
providedValueGenerator.nextValue();
providedValueGenerator.nextValue();
providedValueGenerator.nextValue();

expect(() => providedValueGenerator.nextValue()).toThrowError('Out of bounds!');
});
});
});
9 changes: 9 additions & 0 deletions src/factoryMate/generators/test-fixtures/SampleItem.ts
Original file line number Diff line number Diff line change
@@ -0,0 +1,9 @@
export class SampleItem {
public id: number;
public name: string;

constructor(id: number, name: string) {
this.id = id;
this.name = name;
}
}
1 change: 1 addition & 0 deletions src/index.ts
Original file line number Diff line number Diff line change
@@ -1,3 +1,4 @@
export * from './factoryMate/FactoryMateAware';
export * from './factoryMate/FactoryMate';
export * from './factoryMate/generators/NumberGenerator';
export * from './factoryMate/generators/ProvidedValueGenerator';
6 changes: 5 additions & 1 deletion tsconfig.json
Original file line number Diff line number Diff line change
Expand Up @@ -15,6 +15,10 @@
"files": [
"src/index.ts",
"src/factoryMate/FactoryMate.ts",
"src/factoryMate/FactoryMateAware.ts"
"src/factoryMate/FactoryMateAware.ts",
"src/factoryMate/generators/Generator.ts",
"src/factoryMate/generators/NumberGenerator.ts",
"src/factoryMate/generators/ProvidedValueGenerator.ts",
"src/factoryMate/generators/test-fixtures/SampleItem.ts"
]
}

0 comments on commit 2f2f3ff

Please sign in to comment.