tarject
  • Documentation
    • Introduction
    • Installation
    • How to Contribute
    • How to Use
      • Context
        • ProjectContext
        • SceneContext
        • GameObjectContext
      • Installer
        • GameObjectInstaller
        • ObjectInstaller
      • Binding Methods
        • Bind
        • BindFromInstance
        • BindFromHierarchy
        • BindFactory
      • Binding Options
        • ToInterface
        • WithId
        • Lazy
      • Injecter
      • Factory
        • SeparatedGameObjectFactory
        • SeparatedObjectFactory
      • Interfaces
      • Signal Management
      • Test Framework
Powered by GitBook
On this page
  1. Documentation
  2. How to Use

Test Framework

For now there is only UnitTest support. There is an abstract TarjectUnitTestFixture class that creates a temporary Container to run UnitTests.

Sample uses:

public class SignalControllerTest : TarjectUnitTestFixture
{
    protected override void Setup()
    {
        Container.Bind<SignalController>();
    }

    [Test]
    public void Subscribe()
    {
        SignalController signalController = Container.Resolve<SignalController>();
        signalController.Subscribe<TestSignal>(Action);

        void Action(TestSignal _) { }

        Assert.IsTrue(signalController.Exists<TestSignal>(Action));
    }

    [Test]
    public void Unsubscribe()
    {
        SignalController signalController = Container.Resolve<SignalController>();
        signalController.Subscribe<TestSignal>(Action);
        signalController.Unsubscribe<TestSignal>(Action);

        void Action(TestSignal _) { }

        Assert.IsFalse(signalController.Exists<TestSignal>(Action));
    }

    private readonly struct TestSignal
    {
    }
PreviousSignal Management

Last updated 6 months ago