public void ShouldPromoteReadToWrite() { var a = new DependencyList("a", 0, deps => deps.Read <Position>()); var b = new DependencyList("b", 0, deps => deps.Write <Position>()); var c = DependencyList.MergeComponents("c", 0, new[] { a, b }); c._writeComponents.Count.ShouldBe(1); c._writeComponents.ShouldContain(ComponentType <Position> .Type); c._readComponents.Count.ShouldBe(0); c._allComponents.Count.ShouldBe(1); }
public void ShouldMergeWrites() { var a = new DependencyList("a", 0, deps => deps.Write <Position>()); var b = new DependencyList("b", 0, deps => deps.Write <Velocity>()); var c = DependencyList.MergeComponents("c", 0, new[] { a, b }); c._writeComponents.Count.ShouldBe(2); c._writeComponents.ShouldContain(ComponentType <Position> .Type); c._writeComponents.ShouldContain(ComponentType <Velocity> .Type); c._readComponents.Count.ShouldBe(0); c._allComponents.Count.ShouldBe(2); }