// Mocks generated by Mockito 5.4.6 from annotations
// in simple_blocs/test/todos_bloc_test.dart.
// Do not manually edit this file.

// ignore_for_file: no_leading_underscores_for_library_prefixes
import 'dart:async' as _i3;

import 'package:mockito/mockito.dart' as _i1;
import 'package:simple_blocs/simple_blocs.dart' as _i5;
import 'package:todos_repository_core/src/todo_entity.dart' as _i4;
import 'package:todos_repository_core/todos_repository_core.dart' as _i2;

// ignore_for_file: type=lint
// ignore_for_file: avoid_redundant_argument_values
// ignore_for_file: avoid_setters_without_getters
// ignore_for_file: comment_references
// ignore_for_file: deprecated_member_use
// ignore_for_file: deprecated_member_use_from_same_package
// ignore_for_file: implementation_imports
// ignore_for_file: invalid_use_of_visible_for_testing_member
// ignore_for_file: must_be_immutable
// ignore_for_file: prefer_const_constructors
// ignore_for_file: unnecessary_parenthesis
// ignore_for_file: camel_case_types
// ignore_for_file: subtype_of_sealed_class

class _FakeReactiveTodosRepository_0 extends _i1.SmartFake
    implements _i2.ReactiveTodosRepository {
  _FakeReactiveTodosRepository_0(Object parent, Invocation parentInvocation)
    : super(parent, parentInvocation);
}

/// A class which mocks [ReactiveTodosRepository].
///
/// See the documentation for Mockito's code generation for more information.
class MockReactiveTodosRepository extends _i1.Mock
    implements _i2.ReactiveTodosRepository {
  @override
  _i3.Future<void> addNewTodo(_i4.TodoEntity? todo) =>
      (super.noSuchMethod(
            Invocation.method(#addNewTodo, [todo]),
            returnValue: _i3.Future<void>.value(),
            returnValueForMissingStub: _i3.Future<void>.value(),
          )
          as _i3.Future<void>);

  @override
  _i3.Future<void> deleteTodo(List<String>? idList) =>
      (super.noSuchMethod(
            Invocation.method(#deleteTodo, [idList]),
            returnValue: _i3.Future<void>.value(),
            returnValueForMissingStub: _i3.Future<void>.value(),
          )
          as _i3.Future<void>);

  @override
  _i3.Stream<List<_i4.TodoEntity>> todos() =>
      (super.noSuchMethod(
            Invocation.method(#todos, []),
            returnValue: _i3.Stream<List<_i4.TodoEntity>>.empty(),
            returnValueForMissingStub: _i3.Stream<List<_i4.TodoEntity>>.empty(),
          )
          as _i3.Stream<List<_i4.TodoEntity>>);

  @override
  _i3.Future<void> updateTodo(_i4.TodoEntity? todo) =>
      (super.noSuchMethod(
            Invocation.method(#updateTodo, [todo]),
            returnValue: _i3.Future<void>.value(),
            returnValueForMissingStub: _i3.Future<void>.value(),
          )
          as _i3.Future<void>);
}

/// A class which mocks [TodosInteractor].
///
/// See the documentation for Mockito's code generation for more information.
class MockTodosInteractor extends _i1.Mock implements _i5.TodosInteractor {
  @override
  _i2.ReactiveTodosRepository get repository =>
      (super.noSuchMethod(
            Invocation.getter(#repository),
            returnValue: _FakeReactiveTodosRepository_0(
              this,
              Invocation.getter(#repository),
            ),
            returnValueForMissingStub: _FakeReactiveTodosRepository_0(
              this,
              Invocation.getter(#repository),
            ),
          )
          as _i2.ReactiveTodosRepository);

  @override
  _i3.Stream<List<_i5.Todo>> get todos =>
      (super.noSuchMethod(
            Invocation.getter(#todos),
            returnValue: _i3.Stream<List<_i5.Todo>>.empty(),
            returnValueForMissingStub: _i3.Stream<List<_i5.Todo>>.empty(),
          )
          as _i3.Stream<List<_i5.Todo>>);

  @override
  _i3.Stream<bool> get allComplete =>
      (super.noSuchMethod(
            Invocation.getter(#allComplete),
            returnValue: _i3.Stream<bool>.empty(),
            returnValueForMissingStub: _i3.Stream<bool>.empty(),
          )
          as _i3.Stream<bool>);

  @override
  _i3.Stream<bool> get hasCompletedTodos =>
      (super.noSuchMethod(
            Invocation.getter(#hasCompletedTodos),
            returnValue: _i3.Stream<bool>.empty(),
            returnValueForMissingStub: _i3.Stream<bool>.empty(),
          )
          as _i3.Stream<bool>);

  @override
  _i3.Stream<_i5.Todo> todo(String? id) =>
      (super.noSuchMethod(
            Invocation.method(#todo, [id]),
            returnValue: _i3.Stream<_i5.Todo>.empty(),
            returnValueForMissingStub: _i3.Stream<_i5.Todo>.empty(),
          )
          as _i3.Stream<_i5.Todo>);

  @override
  _i3.Future<void> updateTodo(_i5.Todo? todo) =>
      (super.noSuchMethod(
            Invocation.method(#updateTodo, [todo]),
            returnValue: _i3.Future<void>.value(),
            returnValueForMissingStub: _i3.Future<void>.value(),
          )
          as _i3.Future<void>);

  @override
  _i3.Future<void> addNewTodo(_i5.Todo? todo) =>
      (super.noSuchMethod(
            Invocation.method(#addNewTodo, [todo]),
            returnValue: _i3.Future<void>.value(),
            returnValueForMissingStub: _i3.Future<void>.value(),
          )
          as _i3.Future<void>);

  @override
  _i3.Future<void> deleteTodo(String? id) =>
      (super.noSuchMethod(
            Invocation.method(#deleteTodo, [id]),
            returnValue: _i3.Future<void>.value(),
            returnValueForMissingStub: _i3.Future<void>.value(),
          )
          as _i3.Future<void>);

  @override
  _i3.Future<void> clearCompleted([dynamic _0]) =>
      (super.noSuchMethod(
            Invocation.method(#clearCompleted, [_0]),
            returnValue: _i3.Future<void>.value(),
            returnValueForMissingStub: _i3.Future<void>.value(),
          )
          as _i3.Future<void>);

  @override
  _i3.Future<List<dynamic>> toggleAll([dynamic _0]) =>
      (super.noSuchMethod(
            Invocation.method(#toggleAll, [_0]),
            returnValue: _i3.Future<List<dynamic>>.value(<dynamic>[]),
            returnValueForMissingStub: _i3.Future<List<dynamic>>.value(
              <dynamic>[],
            ),
          )
          as _i3.Future<List<dynamic>>);
}
