I'm trying to understand this piece of code in the...
# kotlin-inject
d
I'm trying to understand this piece of code in the samples:
Copy code
class TestFakes(
    @get:Provides val episodesDao: EpisodesDao = FakeEpisodesDao(),
    @get:Provides val songsDao: SongsDao = FakeSongsDao(),
)

@Component
@ApplicationScope
abstract class TestApplicationComponent(@Component val fakes: TestFakes = TestFakes())
Why is
TestFakes
a class and not an interface implementing the "db module" interface? And what's that
@Component
on the
val fakes
? What does it mean?