public void WhenSpecifyingAmbientValue_ThenOverridesGlobalDefault() { var singleton = new AmbientSingleton<string>("foo"); singleton.Value = "bar"; Assert.Equal("bar", singleton.Value); }
public void WhenSpecifyingAmbientValue_ThenOverridesGlobalDefault() { var singleton = new AmbientSingleton <string>("foo"); singleton.Value = "bar"; Assert.Equal("bar", singleton.Value); }
public void WhenUsingFactory_ThenCanCreateSingleton() { var s1 = AmbientSingleton.Create("foo"); var s2 = AmbientSingleton.Create(() => "bar"); Assert.Equal("foo", s1.Value); Assert.Equal("bar", s2.Value); }
public void WhenReusingIdentifier_ThenCanAccessSameValue() { var identifier = Guid.NewGuid(); var singleton1 = new AmbientSingleton <string>("foo", identifier); var singleton2 = new AmbientSingleton <string>(identifier); Assert.Equal("foo", singleton1.Value); Assert.Equal("foo", singleton2.Value); Assert.Same(singleton1.Value, singleton2.Value); }
public void WhenReusingIdentifier_ThenCanAccessSameValue() { var identifier = Guid.NewGuid(); var singleton1 = new AmbientSingleton<string>("foo", identifier); var singleton2 = new AmbientSingleton<string>(identifier); Assert.Equal("foo", singleton1.Value); Assert.Equal("foo", singleton2.Value); Assert.Same(singleton1.Value, singleton2.Value); }
private void Awake() { if (instance != null && instance != this) { Destroy(gameObject); return; } else instance = this; DontDestroyOnLoad(gameObject); }
private void Awake() { if (instance != null && instance != this) { Destroy(gameObject); return; } else { instance = this; } DontDestroyOnLoad(gameObject); }
public void WhenSpecifyingAmbientValue_ThenDoesNotOverridesOtherCallContextGlobalDefault() { var singleton = new AmbientSingleton <string>("foo"); var value1 = ""; var value2 = ""; Action action1 = () => { singleton.Value = "bar"; value1 = singleton.Value; }; Action action2 = () => value2 = singleton.Value; var tasks = new[] { Task.Factory.StartNew(action1), Task.Factory.StartNew(action2) }; Task.WaitAll(tasks); Assert.Equal("bar", value1); Assert.Equal("foo", value2); }
public void WhenSpecifyingAmbientValue_ThenDoesNotOverridesOtherCallContextGlobalDefault() { var singleton = new AmbientSingleton<string>("foo"); var value1 = ""; var value2 = ""; Action action1 = () => { singleton.Value = "bar"; value1 = singleton.Value; }; Action action2 = () => value2 = singleton.Value; var tasks = new[] { Task.Factory.StartNew(action1), Task.Factory.StartNew(action2) }; Task.WaitAll(tasks); Assert.Equal("bar", value1); Assert.Equal("foo", value2); }
public void WhenNoGlobalDefaultSpecified_ThenReturnsDefaultValue() { var singleton = new AmbientSingleton<string>(); Assert.Equal(null, singleton.Value); }
public static IFixture CustomizeAutoFixture(IFixture fixture) { return (autoFixtureSingleton = AmbientSingleton.Create(fixture)).Value; }
public static IFixture ResetAutoFixture() { return (autoFixtureSingleton = AmbientSingleton.Create(DefaultAutoFixtureInstanceFunc)).Value; }
public void WhenNoGlobalDefaultSpecified_ThenReturnsDefaultValue() { var singleton = new AmbientSingleton <string>(); Assert.Equal(null, singleton.Value); }
public void WhenSpecifyingGlobalDefault_ThenReturnsItFromSingleton() { var singleton = new AmbientSingleton <string>("foo"); Assert.Equal("foo", singleton.Value); }
public static AutoFake CustomizeAutoFaker(AutoFake autoFaker) { return (autoFakerSingleton = AmbientSingleton.Create(autoFaker)).Value; }
public static AutoFake ResetAutoFaker() { return (autoFakerSingleton = AmbientSingleton.Create(DefaultAutoFakerInstanceFunc)).Value; }
public static ITimeMachine SetFactory(Func<ITimeMachine> factory) { return (singleton = AmbientSingleton.Create(factory())).Value; }
public void WhenSpecifyingGlobalDefault_ThenReturnsItFromSingleton() { var singleton = new AmbientSingleton<string>("foo"); Assert.Equal("foo", singleton.Value); }
static SystemTime() { singleton = AmbientSingleton.Create(new UniversalTimeMachine() as ITimeMachine); }