rodydavis / signals.dart

Reactive programming made simple for Dart and Flutter
http://dartsignals.dev
Apache License 2.0
438 stars 50 forks source link

Signal Test #174

Closed TC3000 closed 7 months ago

TC3000 commented 7 months ago

Can we please have a signal testing package similar to https://pub.dev/packages/bloc_test? It would be great to have a standard way for testing signals.

rodydavis commented 7 months ago

Does you have some example tests you want to make sure are possible?

rodydavis commented 7 months ago

You can test a signal with streams, does this work for you?

test('test as stream', () {
  final s = signal(0);
  final stream = s.toStream();

  s.value = 1;
  s.value = 2;
  s.value = 3;

  expect(stream, emitsInOrder([0, 1, 2, 3]));
});

test('test with override', () {
  final s = signal(0).overrideWith(-1);

  final stream = s.toStream();

  s.value = 1;
  s.value = 2;
  s.value = 3;

  expect(stream, emitsInOrder([-1, 1, 2, 3]));
});