public void TestSetInstanceOverride() { var interfaceObject = new InterfaceObject <TestInterface> (); var gameObject = new GameObject(); var interfaceImpl = gameObject.AddComponent <TestInterfaceImplementation>(); interfaceObject._object = interfaceImpl; Assert.That(interfaceObject.Get(), Is.SameAs(interfaceImpl)); var gameObject2 = new GameObject(); var otherImpl = gameObject2.AddComponent <TestInterfaceImplementation>(); interfaceObject.Set(otherImpl); Assert.That(interfaceObject.Get() != null); Assert.That(interfaceObject.Get(), Is.SameAs(otherImpl)); Assert.That(interfaceObject._object != null); Assert.That(interfaceObject._object == otherImpl); var otherImpl2 = new TestInterfaceImplementationNotBehaviour(); interfaceObject.Set(otherImpl2); Assert.That(interfaceObject.Get() != null); Assert.That(interfaceObject.Get() == otherImpl2); Assert.That(interfaceObject._object == null); }
public void TestGetFromBehaviour() { var interfaceObject = new InterfaceObject <TestInterface> (); Assert.That(interfaceObject.Get() == null); var gameObject = new GameObject(); var interfaceImpl = gameObject.AddComponent <TestInterfaceImplementation>(); interfaceObject._object = interfaceImpl; Assert.That(interfaceObject.Get(), Is.SameAs(interfaceImpl)); }