public void TestGetOrCreate() { var registry = new AltoSignalRegistry(); var signalA1 = registry.GetOrCreate <Signal_A>(); var signalA2 = registry.GetOrCreate <Signal_A>(); var signalB1 = registry.GetOrCreate <Signal_B>(); Assert.That(signalA1, Is.InstanceOf <Signal_A>()); Assert.That(signalA2, Is.InstanceOf <Signal_A>()); Assert.That(signalB1, Is.InstanceOf <Signal_B>()); Assert.That(signalA1, Is.SameAs(signalA2)); }
public void TestEmitWith1Arg() { int result = 0; Action <int> action = (int val) => { result += val; }; var registry = new AltoSignalRegistry(); registry.GetOrCreate <Signal1>().Connect(action); Assert.That(result, Is.EqualTo(0)); registry.GetOrCreate <Signal1>().Emit(123); Assert.That(result, Is.EqualTo(123)); }
public void TestEmit() { int result = 0; Action action = () => { result += 10; }; var registry = new AltoSignalRegistry(); registry.GetOrCreate <Signal_A>().Connect(action); Assert.That(result, Is.EqualTo(0)); registry.GetOrCreate <Signal_A>().Emit(); Assert.That(result, Is.EqualTo(10)); }
public void TestClear() { var registry = new AltoSignalRegistry(); Assert.That(registry.Count, Is.EqualTo(0)); var signalA1 = registry.GetOrCreate <Signal_A>(); var signalA2 = registry.GetOrCreate <Signal_A>(); var signalB1 = registry.GetOrCreate <Signal_B>(); Assert.That(registry.Count, Is.EqualTo(2)); registry.Clear(); Assert.That(registry.Count, Is.EqualTo(0)); }
public void TestEmitWith2Args() { string seq = ""; int result = 0; Action <string, int> action = (string str, int val) => { seq += str; result += val; }; var registry = new AltoSignalRegistry(); registry.GetOrCreate <Signal2>().Connect(action); Assert.That(result, Is.EqualTo(0)); registry.GetOrCreate <Signal2>().Emit("hoge", 456); Assert.That(seq, Is.EqualTo("hoge")); Assert.That(result, Is.EqualTo(456)); }