// Mocks generated by Mockito 5.4.6 from annotations
// in mvi_base/test/mvi_todo_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:mvi_base/mvi_base.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
// ignore_for_file: invalid_use_of_internal_member

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

class _FakeStreamController_1<T> extends _i1.SmartFake
    implements _i3.StreamController<T> {
  _FakeStreamController_1(Object parent, Invocation parentInvocation)
    : super(parent, parentInvocation);
}

/// A class which mocks [TodoListInteractor].
///
/// See the documentation for Mockito's code generation for more information.
class MockTodoListInteractor extends _i1.Mock
    implements _i4.TodoListInteractor {
  @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<_i4.Todo>> get todos =>
      (super.noSuchMethod(
            Invocation.getter(#todos),
            returnValue: _i3.Stream<List<_i4.Todo>>.empty(),
            returnValueForMissingStub: _i3.Stream<List<_i4.Todo>>.empty(),
          )
          as _i3.Stream<List<_i4.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<_i4.Todo> todo(String? id) =>
      (super.noSuchMethod(
            Invocation.method(#todo, [id]),
            returnValue: _i3.Stream<_i4.Todo>.empty(),
            returnValueForMissingStub: _i3.Stream<_i4.Todo>.empty(),
          )
          as _i3.Stream<_i4.Todo>);

  @override
  _i3.Future<void> updateTodo(_i4.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(_i4.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>>);
}

/// A class which mocks [DetailView].
///
/// See the documentation for Mockito's code generation for more information.
class MockDetailView extends _i1.Mock implements _i4.DetailView {
  @override
  _i3.StreamController<String> get deleteTodo =>
      (super.noSuchMethod(
            Invocation.getter(#deleteTodo),
            returnValue: _FakeStreamController_1<String>(
              this,
              Invocation.getter(#deleteTodo),
            ),
            returnValueForMissingStub: _FakeStreamController_1<String>(
              this,
              Invocation.getter(#deleteTodo),
            ),
          )
          as _i3.StreamController<String>);

  @override
  _i3.StreamController<_i4.Todo> get updateTodo =>
      (super.noSuchMethod(
            Invocation.getter(#updateTodo),
            returnValue: _FakeStreamController_1<_i4.Todo>(
              this,
              Invocation.getter(#updateTodo),
            ),
            returnValueForMissingStub: _FakeStreamController_1<_i4.Todo>(
              this,
              Invocation.getter(#updateTodo),
            ),
          )
          as _i3.StreamController<_i4.Todo>);

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