42 lines
		
	
	
		
			1.5 KiB
		
	
	
	
		
			TypeScript
		
	
	
	
	
	
			
		
		
	
	
			42 lines
		
	
	
		
			1.5 KiB
		
	
	
	
		
			TypeScript
		
	
	
	
	
	
| /**
 | |
|  * @license
 | |
|  * Copyright Google LLC All Rights Reserved.
 | |
|  *
 | |
|  * Use of this source code is governed by an MIT-style license that can be
 | |
|  * found in the LICENSE file at https://angular.io/license
 | |
|  */
 | |
| import {fakeAsync} from '@angular/core/testing';
 | |
| import {NoopAnimationPlayer} from '../src/animations';
 | |
| import {AnimationGroupPlayer} from '../src/players/animation_group_player';
 | |
| 
 | |
| 
 | |
| describe('AnimationGroupPlayer', () => {
 | |
|   it('should getPosition of an empty group', fakeAsync(() => {
 | |
|        const players: NoopAnimationPlayer[] = [];
 | |
|        const groupPlayer = new AnimationGroupPlayer(players);
 | |
|        expect(groupPlayer.getPosition()).toBe(0);
 | |
|      }));
 | |
| 
 | |
|   it('should getPosition of a single player in a group', fakeAsync(() => {
 | |
|        const player = new NoopAnimationPlayer(5, 5);
 | |
|        player.setPosition(0.2);
 | |
|        const players = [player];
 | |
|        const groupPlayer = new AnimationGroupPlayer(players);
 | |
|        expect(groupPlayer.getPosition()).toBe(0.2);
 | |
|      }));
 | |
| 
 | |
|   it('should getPosition based on the longest player in the group', fakeAsync(() => {
 | |
|        const longestPlayer = new NoopAnimationPlayer(5, 5);
 | |
|        longestPlayer.setPosition(0.2);
 | |
|        const players = [
 | |
|          new NoopAnimationPlayer(1, 4),
 | |
|          new NoopAnimationPlayer(4, 1),
 | |
|          new NoopAnimationPlayer(7, 0),
 | |
|          longestPlayer,
 | |
|          new NoopAnimationPlayer(1, 1),
 | |
|        ];
 | |
|        const groupPlayer = new AnimationGroupPlayer(players);
 | |
|        expect(groupPlayer.getPosition()).toBe(0.2);
 | |
|      }));
 | |
| });
 |