Advertisement
Guest User

Should work

a guest
Feb 23rd, 2017
61
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 8.54 KB | None | 0 0
  1. --SHOULD WORK
  2.  
  3. --Create countries
  4. INSERT INTO countries VALUES('Sweden');
  5. INSERT INTO countries VALUES('Norway');
  6.  
  7. --Update population of area
  8. INSERT INTO countries VALUES('Sweden');
  9. INSERT INTO areas VALUES('Sweden', 'Borås', 40000);
  10. UPDATE areas SET population = 45000 WHERE country='Sweden' AND name='Borås';
  11. SELECT assert ( ( SELECT population FROM areas WHERE country='Sweden' AND name='Borås') , 45000) ;
  12.  
  13. --Add city and town
  14. INSERT INTO countries VALUES('Sweden');
  15. INSERT INTO areas VALUES('Sweden', 'Gothenburg', 500000);
  16. INSERT INTO areas VALUES('Sweden', 'Borås', 40000);
  17. INSERT INTO towns VALUES('Sweden', 'Borås');
  18. INSERT INTO cities VALUES('Sweden','Gothenburg',10000);
  19.  
  20. --Update visitbonus for city
  21. INSERT INTO countries VALUES('Sweden');
  22. INSERT INTO areas VALUES('Sweden', 'Gothenburg', 500000);
  23. UPDATE cities SET visitbonus = 8000 WHERE name='Gothenburg';
  24. SELECT assert ( ( SELECT visitbonus FROM cities WHERE name='Gothenburg') , 8000);
  25.  
  26. --Add persons
  27. INSERT INTO countries VALUES('Sweden');
  28. INSERT INTO countries VALUES('Norway');
  29. INSERT INTO areas VALUES('Sweden', 'Gothenburg', 500000);
  30. INSERT INTO areas VALUES('Norway','Oslo','400000');
  31. INSERT INTO persons VALUES('Norway' ,'19950101-4444' ,'Kim' ,'Norway','Oslo',10000);
  32. INSERT INTO persons VALUES('Sweden' ,'19931215-0879' ,'John' ,'Sweden','Borås',5000);
  33.  
  34. --Update persons locationarea
  35. INSERT INTO countries VALUES('Sweden');
  36. INSERT INTO areas VALUES('Sweden', 'Gothenburg', 500000);
  37. INSERT INTO areas VALUES('Sweden', 'Borås', 40000);
  38. INSERT INTO persons VALUES('Sweden' ,'19931215-0879' ,'John' ,'Sweden','Borås',5000);
  39. SELECT assert ( ( SELECT locationarea FROM persons WHERE country = 'Sweden' AND personnumber='19931215-0879') , 'Gothenburg') ;
  40.  
  41. --Update budget
  42. INSERT INTO countries VALUES('Sweden');
  43. INSERT INTO areas VALUES('Sweden', 'Gothenburg', 500000);
  44. INSERT INTO areas VALUES('Sweden', 'Borås', 40000);
  45. INSERT INTO persons VALUES('Sweden' ,'19931215-0879' ,'John' ,'Sweden','Borås',5000);
  46. UPDATE persons SET budget = 6000 WHERE personnumber='19931215-0879';
  47. SELECT assert ( ( SELECT budget FROM persons WHERE country = 'Sweden' AND
  48. personnumber='19931215-0879'), 6000);
  49.  
  50. --Update roadtax
  51. INSERT INTO countries VALUES('Sweden');
  52. INSERT INTO areas VALUES('Sweden', 'Gothenburg', 500000);
  53. INSERT INTO areas VALUES('Sweden', 'Borås', 40000);
  54. INSERT INTO persons VALUES('Sweden' ,'19931215-0879' ,'John' ,'Sweden','Borås',5000);
  55. --Create road
  56. INSERT INTO roads VALUES('Sweden' ,'Göteborg' ,'Sweden' ,'Borås','Sweden','19931215-0879', getval('roadtax'));
  57. UPDATE roads SET roadtax=500 WHERE ownercountry='Sweden' AND ownerpersonnumber='19931215-0879;
  58. SELECT assert ( ( SELECT roadtax FROM roads WHERE ownercountry='Sweden' AND ownerpersonnumber='19931215-0879 ), 500 );
  59.  
  60. --Update locationarea and locationcountry;
  61. INSERT INTO countries VALUES('Sweden');
  62. INSERT INTO countries VALUES('Norway');
  63. INSERT INTO areas VALUES('Norway','Oslo','400000');
  64. INSERT INTO areas VALUES('Sweden', 'Borås', 40000);
  65. INSERT INTO persons VALUES('Sweden' ,'19931215-0879' ,'John' ,'Sweden','Borås',5000);
  66. --Changes locationcountry -and area of John
  67. SELECT assert ((SELECT locationcountry AND locationarea FROM persons WHERE country = 'Sweden' AND personnumber='19931215-0879'), 'Norway','Oslo');
  68.  
  69.  
  70. --Buying/selling hotel
  71. --Add countries,areas and persons
  72. INSERT INTO countries VALUES('Sweden');
  73. INSERT INTO areas VALUES('Sweden', 'Gothenburg', 500000);
  74. INSERT INTO areas VALUES('Norway','Oslo','400000');
  75. INSERT INTO areas VALUES('Sweden', 'Borås', 40000);
  76. INSERT INTO persons VALUES('Sweden' ,'19931215-0879' ,'John' ,'Sweden','Borås',5000);
  77. INSERT INTO persons VALUES('Norway' ,'19950101-4444' ,'Kim' ,'Norway','Oslo',10000);
  78. --John buys hotel
  79. INSERT INTO hotels VALUES('Scandic' ,'Sweden' ,'Gothenburg' ,'Sweden','19931215-0879');
  80. SELECT assert ( ( SELECT budget FROM persons WHERE country='Sweden' AND personnumber='19931215-0879' ), ( 5000 - (getval('hotelprice')) ) );
  81. --Change owner of the hotel
  82. SELECT assert ( ( SELECT ownerpersonnumber FROM hotels WHERE locationcountry = 'Sweden' AND locationname = 'Gothenburg' AND ownercountry = 'Sweden' ) , '19950101-4444') ;
  83. --Assert Kims budget
  84. SELECT assert ( ( SELECT budget FROM persons WHERE country='Sweden' AND personnumber='19950101-4444' ), (10000 -(getval('hotelprice)) ) );
  85. --Update Johns budget
  86. UPDATE persons SET ( budget ( budget + (getval('hotelrefund')) ) )
  87. SELECT assert ( ( SELECT budget FROM persons WHERE country='Sweden' AND personnumber='19931215-0879' ), ( budget ( budget + (getval('hotelrefund')) ) ) );
  88. --Kim buys other hotel in different area
  89. INSERT INTO hotels VALUES('Scandic' ,'Norway' ,'Oslo' ,'Sweden','19950101-4444');
  90. SELECT assert ( ( SELECT budget FROM persons WHERE country='Sweden' AND personnumber='19950101-4444' ), ( budget = (budget -(getval('hotelprice)) ) ) );
  91. --Show all hotels Kim owns
  92. SELECT FROM hotels WHERE ownercountry='Sweden' AND ownerpersonnumber='19950101-4444'
  93.  
  94. --Roads
  95. --Add countries,areas and persons
  96. INSERT INTO countries VALUES('Sweden');
  97. INSERT INTO areas VALUES('Sweden', 'Göteborg', 500000);
  98. INSERT INTO areas VALUES('Sweden', 'Borås', 40000);
  99. INSERT INTO persons VALUES('Sweden' ,'19931215-0879' ,'John' ,'Sweden','Göteborg',5000);
  100. INSERT INTO persons VALUES('Sweden' ,'19950101-4444' ,'Kim' ,'Sweden','Göteborg',10000);
  101. --John creates road
  102. INSERT INTO roads VALUES('Sweden' ,'Göteborg' ,'Sweden' ,'Borås','Sweden','19931215-0879', getval('roadtax'));
  103. --Update Johns budget
  104. SELECT assert( ( SELECT budget FROM persons WHERE country='Sweden' AND personnummer='19931215-0879' ), ( 5000 - (getval('roadprice)) ) );
  105. --Kim travels private owned road
  106. SELECT assert( ( SELECT locationarea FROM persons WHERE country='Sweden' AND personnumber='19950101-4444' ), 'Borås' );
  107. --Kim must pay roadtax
  108. SELECT assert( ( SELECT budget FROM persons WHERE country='Sweden' AND personnumber='19950101-4444' ), ( 10000 - (getval('roadtax')) ) );
  109. --John recieves roadtax
  110. UPDATE persons SET budget = ( budget = ( budget + (getval('roadtax')) ) ) WHERE country='Sweden' AND personnumber='19931215-0879'
  111. SELECT assert( (SELECT budget FROM persons WHERE country='Sweden' AND personnumber='19931215-0879'), ( budget = ( budget + (getval('roadtax')) ) ) );
  112. --Göteborg gets a citybonus
  113.  
  114. --Cityvisit
  115. --Add countries,areas and persons
  116. INSERT INTO countries VALUES('Sweden');
  117. INSERT INTO countries VALUES('Norway');
  118. INSERT INTO areas VALUES('Sweden', 'Göteborg', 500000);
  119. INSERT INTO areas VALUES('Sweden', 'Borås', 40000);
  120. INSERT INTO areas VALUES('Norway', 'Oslo', 400000);
  121. INSERT INTO areas VALUES('Norway', 'Svalbard', 100000);
  122. INSERT INTO persons VALUES('Sweden' ,'19931215-0879' ,'John' ,'Sweden','Göteborg',5000);
  123. INSERT INTO persons VALUES('Sweden' ,'19950101-4444' ,'Kim' ,'Sweden','Borås',10000);
  124. INSERT INTO persons VALUES('Norway' ,19921234-5678' ,'Mats' ,'Norway' ,'Oslo' ,3500);
  125. INSERT INTO persons VALUES('Norway' ,19954321-0987' ,'Erik' ,'Norway' ,'Svalbard' ,12500);
  126. --Create several hotels
  127. INSERT INTO hotels VALUES('Scandic' ,'Sweden' ,'Göteborg' ,'Sweden','19931215-0879');
  128. INSERT INTO hotels VALUES('Hilton' ,'Sweden' ,'Göteborg' ,'Norway','19921234-5678');
  129. INSERT INTO hotels VALUES('Scandic' ,'Sweden' ,'Göteborg' ,'Norway','19954321-0987');
  130. --Assert owners budgets
  131. --John
  132. SELECT assert ( ( SELECT budget FROM persons WHERE country='Sweden' AND personnumber='19931215-0879' ), ( 5000 - (getval('hotelprice')) ) );
  133. --Mats
  134. SELECT assert ( ( SELECT budget FROM persons WHERE country='Norway' AND personnumber='19921234-5678' ), ( 3500 - (getval('hotelprice')) ) );
  135. --Erik
  136. SELECT assert ( ( SELECT budget FROM persons WHERE country='Norway' AND personnumber='19954321-0987' ), ( 12500 - (getval('hotelprice')) ) );
  137. --Kim visits Göteborg
  138. --Takes public owned road(no roadtax)
  139. SELECT assert( ( SELECT locationarea FROM persons WHERE country='Sweden' AND personnumber='19950101-4444' ), 'Göteborg' );
  140. --Kim pays cityvisit fee
  141. SELECT assert( ( SELECT budget FROM persons WHERE country='Sweden' AND personnumber='19950101-4444' ), 5000 - (getval('cityvisit')) );
  142. --Owners get their share of the cityvisit fee
  143. --John
  144. SELECT assert ( ( SELECT budget FROM persons WHERE country='Sweden' AND personnumber='19931215-0879' ), ( budget = ( budget + (getval('cityvisit'))/3) ) );
  145. --Mats
  146. SELECT assert ( ( SELECT budget FROM persons WHERE country='Norway' AND personnumber='19921234-5678' ), ( budget = ( budget + (getval('cityvisit'))/3) ) );
  147. --Erik
  148. SELECT assert ( ( SELECT budget FROM persons WHERE country='Norway' AND personnumber='19954321-0987' ), ( budget = ( budget + (getval('cityvisit'))/3) ) );
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement