mirror of
https://github.com/emilybache/GildedRose-Refactoring-Kata.git
synced 2025-12-12 04:12:13 +00:00
Merge pull request #6 from codecop/master
Minor additions to JS and PL/SQL
This commit is contained in:
commit
5a2fcc6bdd
54
js/TexttestFixture.html
Normal file
54
js/TexttestFixture.html
Normal file
@ -0,0 +1,54 @@
|
||||
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
|
||||
<html>
|
||||
<head>
|
||||
|
||||
<title>Gilded Rose Texttest Fixture</title>
|
||||
|
||||
<script type="text/javascript" src="lib/jquery-1.7.1/jquery-1.7.1.js"></script>
|
||||
<script type="text/javascript" src="src/gilded_rose.js"></script>
|
||||
|
||||
<script type="text/javascript">
|
||||
$( document ).ready(function() {
|
||||
|
||||
$('body').append('<p>OMGHAI!</p>');
|
||||
|
||||
items.push(new Item('+5 Dexterity Vest', 10, 20));
|
||||
items.push(new Item('Aged Brie', 2, 0));
|
||||
items.push(new Item('Elixir of the Mongoose', 5, 7));
|
||||
items.push(new Item('Sulfuras, Hand of Ragnaros', 0, 80));
|
||||
items.push(new Item('Sulfuras, Hand of Ragnaros', -1, 80));
|
||||
items.push(new Item('Backstage passes to a TAFKAL80ETC concert', 15, 20));
|
||||
items.push(new Item('Backstage passes to a TAFKAL80ETC concert', 10, 49));
|
||||
items.push(new Item('Backstage passes to a TAFKAL80ETC concert', 5, 49));
|
||||
// this conjured item does not work properly yet
|
||||
items.push(new Item('Conjured Mana Cake', 3, 6));
|
||||
|
||||
var days = 2;
|
||||
|
||||
for (var i = 0; i < days; i++) {
|
||||
showHeaderFor(i);
|
||||
showItemsFor(i);
|
||||
update_quality();
|
||||
}
|
||||
|
||||
function showHeaderFor(day) {
|
||||
$('body').append('<p>-------- day ' + day + ' --------</p>');
|
||||
}
|
||||
|
||||
function showItemsFor(day) {
|
||||
$('body').append('<p>name, sellIn, quality</p>');
|
||||
for (var j = 0; j < items.length; j++) {
|
||||
var item = items[j];
|
||||
$('body').append('<p>' + item.name + ', ' + item.sell_in + ', ' + item.quality + '</p>');
|
||||
}
|
||||
$('body').append('<br />');
|
||||
}
|
||||
|
||||
});
|
||||
</script>
|
||||
|
||||
</head>
|
||||
|
||||
<body>
|
||||
</body>
|
||||
</html>
|
||||
@ -6,13 +6,6 @@ function Item(name, sell_in, quality) {
|
||||
|
||||
var items = []
|
||||
|
||||
items.push(new Item('+5 Dexterity Vest', 10, 20));
|
||||
items.push(new Item('Aged Brie', 2, 0));
|
||||
items.push(new Item('Elixir of the Mongoose', 5, 7));
|
||||
items.push(new Item('Sulfuras, Hand of Ragnaros', 0, 80));
|
||||
items.push(new Item('Backstage passes to a TAFKAL80ETC concert', 15, 20));
|
||||
items.push(new Item('Conjured Mana Cake', 3, 6));
|
||||
|
||||
function update_quality() {
|
||||
for (var i = 0; i < items.length; i++) {
|
||||
if (items[i].name != 'Aged Brie' && items[i].name != 'Backstage passes to a TAFKAL80ETC concert') {
|
||||
|
||||
@ -1,5 +1,14 @@
|
||||
PROMPT Creating Table 'ITEM'
|
||||
DROP TABLE item;
|
||||
|
||||
BEGIN
|
||||
EXECUTE IMMEDIATE 'DROP TABLE item';
|
||||
EXCEPTION
|
||||
WHEN OTHERS THEN
|
||||
IF SQLCODE != -942 THEN
|
||||
RAISE;
|
||||
END IF;
|
||||
END;
|
||||
|
||||
CREATE TABLE item
|
||||
(
|
||||
name VARCHAR2(100) NOT NULL,
|
||||
@ -7,3 +16,5 @@ CREATE TABLE item
|
||||
quality NUMBER(6) NOT NULL
|
||||
);
|
||||
/
|
||||
|
||||
SHOW ERRORS;
|
||||
|
||||
@ -1,5 +1,14 @@
|
||||
PROMPT Creating Table 'ITEM' with auto-increment primary key 'ID'
|
||||
DROP TABLE item;
|
||||
|
||||
BEGIN
|
||||
EXECUTE IMMEDIATE 'DROP TABLE item';
|
||||
EXCEPTION
|
||||
WHEN OTHERS THEN
|
||||
IF SQLCODE != -942 THEN
|
||||
RAISE;
|
||||
END IF;
|
||||
END;
|
||||
|
||||
CREATE TABLE item
|
||||
(
|
||||
id NUMBER(6) NOT NULL,
|
||||
@ -13,19 +22,29 @@ ALTER TABLE item ADD (
|
||||
CONSTRAINT item_pk PRIMARY KEY (ID));
|
||||
/
|
||||
|
||||
DROP SEQUENCE item_id_seq;
|
||||
CREATE SEQUENCE item_id_seq
|
||||
INCREMENT BY 1
|
||||
START WITH 1
|
||||
BEGIN
|
||||
EXECUTE IMMEDIATE 'DROP SEQUENCE item_id_seq';
|
||||
EXCEPTION
|
||||
WHEN OTHERS THEN
|
||||
IF SQLCODE != -2289 THEN
|
||||
RAISE;
|
||||
END IF;
|
||||
END;
|
||||
|
||||
CREATE SEQUENCE item_id_seq
|
||||
INCREMENT BY 1
|
||||
START WITH 1
|
||||
MAXVALUE 999999
|
||||
MINVALUE 1
|
||||
MINVALUE 1
|
||||
NOCYCLE;
|
||||
/
|
||||
|
||||
CREATE OR REPLACE TRIGGER item_bis_trg
|
||||
BEFORE INSERT ON item
|
||||
FOR EACH ROW
|
||||
CREATE OR REPLACE TRIGGER item_bis_trg
|
||||
BEFORE INSERT ON item
|
||||
FOR EACH ROW
|
||||
BEGIN
|
||||
SELECT item_id_seq.NEXTVAL INTO :new.id FROM dual;
|
||||
END;
|
||||
/
|
||||
|
||||
SHOW ERRORS;
|
||||
|
||||
@ -1,13 +1,15 @@
|
||||
SET SERVEROUTPUT ON;
|
||||
|
||||
DELETE FROM item;
|
||||
|
||||
DECLARE
|
||||
l_days NUMBER(3);
|
||||
CURSOR c_items IS
|
||||
CURSOR c_items IS
|
||||
SELECT name, sell_in, quality FROM item;
|
||||
l_item c_items%ROWTYPE;
|
||||
BEGIN
|
||||
DBMS_OUTPUT.PUT_LINE('OMGHAI!');
|
||||
|
||||
|
||||
new_item('+5 Dexterity Vest', 10, 20);
|
||||
new_item('Aged Brie', 2, 0);
|
||||
new_item('Elixir of the Mongoose', 5, 7);
|
||||
@ -18,7 +20,7 @@ BEGIN
|
||||
new_item('Backstage passes to a TAFKAL80ETC concert', 5, 49);
|
||||
-- this conjured item does not work properly yet ;
|
||||
new_item('Conjured Mana Cake', 3, 6);
|
||||
|
||||
|
||||
l_days := 2;
|
||||
|
||||
FOR i IN 0 .. l_days - 1
|
||||
|
||||
@ -12,10 +12,10 @@ BEGIN
|
||||
l_name := l_item.name;
|
||||
l_sell_in := l_item.sell_in;
|
||||
l_quality := l_item.quality;
|
||||
|
||||
IF l_name != 'Aged Brie' AND l_name != 'Backstage passes to a TAFKAL80ETC concert' THEN
|
||||
|
||||
IF l_name <> 'Aged Brie' AND l_name <> 'Backstage passes to a TAFKAL80ETC concert' THEN
|
||||
IF l_quality > 0 THEN
|
||||
IF l_name != 'Sulfuras, Hand of Ragnaros' THEN
|
||||
IF l_name <> 'Sulfuras, Hand of Ragnaros' THEN
|
||||
l_quality := l_quality - 1;
|
||||
END IF;
|
||||
END IF;
|
||||
@ -36,16 +36,16 @@ BEGIN
|
||||
END IF;
|
||||
END IF;
|
||||
END IF;
|
||||
|
||||
IF l_name != 'Sulfuras, Hand of Ragnaros' THEN
|
||||
|
||||
IF l_name <> 'Sulfuras, Hand of Ragnaros' THEN
|
||||
l_sell_in := l_sell_in - 1;
|
||||
END IF;
|
||||
|
||||
|
||||
IF l_sell_in < 0 THEN
|
||||
IF l_name != 'Aged Brie' THEN
|
||||
IF l_name != 'Backstage passes to a TAFKAL80ETC concert' THEN
|
||||
IF l_name <> 'Aged Brie' THEN
|
||||
IF l_name <> 'Backstage passes to a TAFKAL80ETC concert' THEN
|
||||
IF l_quality > 0 THEN
|
||||
IF l_name != 'Sulfuras, Hand of Ragnaros' THEN
|
||||
IF l_name <> 'Sulfuras, Hand of Ragnaros' THEN
|
||||
l_quality := l_quality - 1;
|
||||
END IF;
|
||||
END IF;
|
||||
@ -58,7 +58,7 @@ BEGIN
|
||||
END IF;
|
||||
END IF;
|
||||
END IF;
|
||||
|
||||
|
||||
UPDATE item
|
||||
SET name = l_name, sell_in = l_sell_in, quality = l_quality WHERE CURRENT OF c_items;
|
||||
END LOOP;
|
||||
|
||||
Loading…
Reference in New Issue
Block a user