| 
									
										
										
										
											2016-03-17 14:07:54 +00:00
										 |  |  | // #docregion
 | 
					
						
							|  |  |  | // #docplaster
 | 
					
						
							|  |  |  | // #docregion base-hero-spec
 | 
					
						
							| 
									
										
										
										
											2016-03-24 19:30:26 +00:00
										 |  |  | import { Hero } from './hero'; | 
					
						
							| 
									
										
										
										
											2016-03-17 14:07:54 +00:00
										 |  |  | 
 | 
					
						
							|  |  |  | describe('Hero', () => { | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2016-03-24 19:30:26 +00:00
										 |  |  |   it('has name', () => { | 
					
						
							|  |  |  |     let hero: Hero = {id: 1, name: 'Super Cat'}; | 
					
						
							| 
									
										
										
										
											2016-03-17 14:07:54 +00:00
										 |  |  |     expect(hero.name).toEqual('Super Cat'); | 
					
						
							|  |  |  |   }); | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2016-03-24 19:30:26 +00:00
										 |  |  |   it('has id', () => { | 
					
						
							|  |  |  |     let hero: Hero = {id: 1, name: 'Super Cat'}; | 
					
						
							| 
									
										
										
										
											2016-03-17 14:07:54 +00:00
										 |  |  |     expect(hero.id).toEqual(1); | 
					
						
							|  |  |  |   }); | 
					
						
							|  |  |  |   // #enddocregion base-hero-spec
 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |   /* more tests we could run | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |   it('can clone itself', () => { | 
					
						
							|  |  |  |     let hero = new Hero(1, 'Super Cat'); | 
					
						
							|  |  |  |     let clone = hero.clone(); | 
					
						
							|  |  |  |     expect(hero).toEqual(clone); | 
					
						
							|  |  |  |   }); | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |   it('has expected generated id when id not given in the constructor', () => { | 
					
						
							|  |  |  |     Hero.setNextId(100); // reset the `nextId` seed
 | 
					
						
							|  |  |  |     let hero = new Hero(null, 'Cool Kitty'); | 
					
						
							|  |  |  |     expect(hero.id).toEqual(100); | 
					
						
							|  |  |  |   }); | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |   it('has expected generated id when id=0 in the constructor', () => { | 
					
						
							|  |  |  |     Hero.setNextId(100); | 
					
						
							|  |  |  |     let hero = new Hero(0, 'Cool Kitty'); | 
					
						
							|  |  |  |     expect(hero.id).toEqual(100); | 
					
						
							|  |  |  |   }) | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |   it('increments generated id for each new Hero w/o an id', () => { | 
					
						
							|  |  |  |     Hero.setNextId(100); | 
					
						
							|  |  |  |     let hero1 = new Hero(0, 'Cool Kitty'); | 
					
						
							|  |  |  |     let hero2 = new Hero(null, 'Hip Cat'); | 
					
						
							|  |  |  |     expect(hero2.id).toEqual(101); | 
					
						
							|  |  |  |   }); | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |   */ | 
					
						
							|  |  |  |   // #docregion base-hero-spec
 | 
					
						
							|  |  |  | }); | 
					
						
							|  |  |  | // #enddocregion base-hero-spec
 |