public void does_not_copy_over_arguments_that_disappear() { var context1 = new Dictionary <string, GenericEntry> { { "TFoo", new GenericEntry(assembly.GetTypeDefinition <TestData>(), false, "") }, { "TBar", new GenericEntry(assembly.GetTypeDefinition <TestData>(), false, "") } }; var context2 = new Dictionary <string, GenericEntry> { { "TBar", new GenericEntry(null, true, "TFoo") } }; var context = new GenericContext(context1); var newContext = context.TransitionTo(context2); Assert.AreEqual(1, newContext.LimitationCount); }