mirror of https://github.com/flutter/pinball.git
parent
f0db7c720d
commit
ca18de6172
@ -0,0 +1,19 @@
|
||||
import 'package:equatable/equatable.dart';
|
||||
import 'package:flutter/material.dart';
|
||||
|
||||
/// {@template character_theme}
|
||||
/// Base class for creating character themes.
|
||||
///
|
||||
/// Character specific game components should have a getter specified here to
|
||||
/// load their corresponding assets for the game.
|
||||
/// {@endtemplate}
|
||||
abstract class CharacterTheme extends Equatable {
|
||||
/// {@macro character_theme}
|
||||
const CharacterTheme();
|
||||
|
||||
/// Ball color for this theme.
|
||||
Color get ballColor;
|
||||
|
||||
@override
|
||||
List<Object?> get props => [];
|
||||
}
|
@ -1,4 +1,5 @@
|
||||
export 'android_theme.dart';
|
||||
export 'character_theme.dart';
|
||||
export 'dash_theme.dart';
|
||||
export 'dino_theme.dart';
|
||||
export 'sparky_theme.dart';
|
||||
|
@ -0,0 +1,28 @@
|
||||
// ignore_for_file: prefer_const_constructors
|
||||
|
||||
import 'package:flutter_test/flutter_test.dart';
|
||||
import 'package:pinball_theme/pinball_theme.dart';
|
||||
|
||||
void main() {
|
||||
group('PinballTheme', () {
|
||||
const characterTheme = SparkyTheme();
|
||||
|
||||
test('can be instantiated', () {
|
||||
expect(PinballTheme(characterTheme: characterTheme), isNotNull);
|
||||
});
|
||||
|
||||
test('supports value equality', () {
|
||||
expect(
|
||||
PinballTheme(characterTheme: characterTheme),
|
||||
equals(PinballTheme(characterTheme: characterTheme)),
|
||||
);
|
||||
});
|
||||
|
||||
test('characterTheme is correct', () {
|
||||
expect(
|
||||
PinballTheme(characterTheme: characterTheme).characterTheme,
|
||||
equals(characterTheme),
|
||||
);
|
||||
});
|
||||
});
|
||||
}
|
Loading…
Reference in new issue