| You can stick with the limit of 7 for purposes on M2 testing, but you do not need to enforce that restriction. It is a limitation on the test set we will use. Future versions of your system should be more general. Rich LeBlanc |
| "Relatives" in this context will be direct descendants, siblings, direct ancestors and siblings of direct ancestores (thus including Aunts and Uncles, Great Aunts and Uncles, etc.). Rich LeBlanc |
| Should marriages be traversed, as well? Lex Spoon |
| I deliberately left out marriages, since they open the door to a whole bunch of messy questions. Let's just stick with the definition above. Rich LeBlanc |
| I've e-mailed the other TAs to try and figure out a good definition of "relative" for M2 and to answer your questions about autocorrecting siblings/parents/etc. I'll post the results once we receive them. Chris Verges |
| We have decided to work only with full siblings for this kind of test case, so Mary and Bob should indeed have the same parents. Rich LeBlanc |
| You can do it either way, but I think it should be a lot easier to generate it by person. Rich LeBlanc |
| No, since it is possible to define siblings without a mother or father. Rich LeBlanc |
| Yes, the Milestone indicates that you need to be able to do global searches over all instances of Person. Keeping a collection of all instances is a good use for a class variable. Rich LeBlanc |
| No, you must use queries via the searchFor: call. Chris Verges |
| Yes. Sami Deen Please include your name with questions, |
| One check traverses the whole tree. -Lex Spoon |
| I would hold on to functionality from M1. M4 requires that all functinality from M1, and M2 work. Sami Deen |
| No testing of M1 stuff in M2. M1 functionality will be tested again in M4. Sami Deen. |
| You are not limited to the ones listed in the assignment. |
| Family and Person are not independent in the sense that it takes Person records to provide information about the individuals in a family. However, if you deleted all of the Family instances, the individual infofmation about each Person would still be available. The point of my use of "independent" in my previous answer was that each Family instance is independent of other Family instances. To add a bit more detail: a Family record might contain references to the parents and to a collection of their children, plus information that describes the family as a whole, like a marriage date. The Person instances it references would contain the information about the individuals in the family, the parents and children. A Person would also provide access to all of the Families in which a person participates – 1 as a child and 0 or more as a parent. Rich LeBlanc |
It is your job to:
1. Maintain a correct data structure based on the data you have.
This includes connecting mirror and transitive information.
2. Write a check function which:
a) Reports data that you require to finish building,
and populating your data structure.
b) Reports data tha is creating a contradiciton or a conflict.
| Yes, that turned out to be a hypothetical example. Sami Deen |
| Also, please do not delete other people's text on a coweb. Respond if you like. Summarize a page if you are really gung ho. But don't just delete it. Let's have free speech and open debate, etc. Besides, I happen to agree with the brilliant oh-so-anonymous person who posted the above. -Lex Spoon |
| ln := String with: (Character cr). |
[Data entered here]
Query searchFor: p.
Checking info...
Querying data...
[Printing search results here]
| You can use ReadStream to treat any collection as a readable stream. Likewise for WriteStream. -Lex Spoon |
| It should return an instance of Query that tells Person to search for everyone with the surname of 'Flintstone'. Chris Verges |
| You are seeing the limits of the interface between the code and the user here. When you have a good interface , its easier to maintain good data structures. The lesson to take away is to realize that interface is extremely important. You can most certainly create any new methods you want to help you auto fix, or fill in the parts of the data structure that you are aware of. Notice #hasChild: will never be exposed to the user since the TA's will not be testing methods not mentioned in the milestone. Sami Deen |
| The section in the milestone that you are refering to that mentions hasAlias bears the heading: "Queries based on any relationship or information from M1". You need to be able to query for any data in your data structure. Sami Deen |
| Test for both. In other words test for things that could go wrong in M2. So for example creating Person objects, which was an M1 function, needs to be tested in order for you to be assured that M2 will work properly. Sami Deen |
| What about Query generalSearch: '384'? Jonathan Taylor |
| Its just saying make sure you have CRC cards for everything. BTW the rejected ideas (CRC cards) are important. Always include at least a few of them. They showed that you explored the problem. The final CRC cards represent only the solution. Sami Deen |