public void ThreeListTest() { List <IdPair <AnchorId, PositionDummy> > frozenResources = new List <IdPair <AnchorId, PositionDummy> >(); List <IdPair <AnchorId, PositionDummy> > spongyResources = new List <IdPair <AnchorId, PositionDummy> >(); List <IdPair <AnchorId, PositionDummyPair> > displacementResources = new List <IdPair <AnchorId, PositionDummyPair> >(); List <int> intersection = new List <int>(); /// spongy resources anchorids are generally a subset of frozen ids. First test checks that scenario. /// frozen = [1..8], spongy is [2,4,6], expect displacements for [2,4,6] for (int i = 1; i < 9; ++i) { frozenResources.Add(PositionDummy.MakePair(i, i, 0)); } for (int i = 2; i < 9; i += 2) { spongyResources.Add(PositionDummy.MakePair(i, i, 1)); } for (int i = 2; i < 9; i += 2) { intersection.Add(i); } var displacementCreator = new DisplacementTestCreator(); RunDisplacementTestCopy(displacementCreator, frozenResources, spongyResources, displacementResources); CheckDisplacements(displacementCreator, frozenResources, spongyResources, displacementResources); spongyResources.Clear(); spongyResources.Add(PositionDummy.MakePair(4, 4, 1)); RunDisplacementTestCopy(displacementCreator, frozenResources, spongyResources, displacementResources); CheckDisplacements(displacementCreator, frozenResources, spongyResources, displacementResources); spongyResources.Clear(); for (int i = 2; i < 9; i += 2) { spongyResources.Add(PositionDummy.MakePair(i, i, 1)); } RunDisplacementTestCopy(displacementCreator, frozenResources, spongyResources, displacementResources); CheckDisplacements(displacementCreator, frozenResources, spongyResources, displacementResources); frozenResources.Clear(); frozenResources.Add(PositionDummy.MakePair(4, 4, 0)); RunDisplacementTestCopy(displacementCreator, frozenResources, spongyResources, displacementResources); CheckDisplacements(displacementCreator, frozenResources, spongyResources, displacementResources); frozenResources.Clear(); spongyResources.Clear(); for (int i = 1; i < 10; ++i) { frozenResources.Add(PositionDummy.MakePair(i, i, 0)); spongyResources.Add(PositionDummy.MakePair(i, i, 0)); } RunDisplacementTestCopy(displacementCreator, frozenResources, spongyResources, displacementResources); Assert.IsTrue(displacementResources.Count == 0); CheckDisplacements(displacementCreator, frozenResources, spongyResources, displacementResources); }
public IdPair <AnchorId, PositionDummyPair> CreateDisplacement(AnchorId id, PositionDummy frozen, PositionDummy spongy) { PositionDummyPair newLine; newLine.frozen = frozen.transform.position; newLine.spongy = spongy.transform.position; return(new IdPair <AnchorId, PositionDummyPair>() { id = id, target = newLine }); }