VS 2008 Pro�łɓ��ڂ���Ă���P�̃e�X�g�@�\���g���ăe�X�g�E�t�@�[�X�g�����H�BNUnit����̃e�X�g�ڍs�ɂ��Ă��l�@�B
�@
�@�{�e���O���ł́AVisual Studio 2008 Professional Edition�i�ȉ��AVS 2008�j�ɓ��ڂ����悤�ɂȂ����P�̃e�X�g�@�\�̋@�\���ڂ�ԗ��I�ɉ�������B
�@��҂ƂȂ鍡��ł́A���̒P�̃e�X�g�@�\���g�����e�X�g�쓮�J���̎菇�ɂ��ďЉ��B�܂��㔼�ł́ANUnit����̃e�X�g�E�R�[�h�̈ڍs�̎菇�ɂ��Ă��������B
�@�O�҂ł͂��܂�G��Ȃ��������A�P�̃e�X�g�̓A�W���C���J���ɂ�����u�e�X�g�t�@�[�X�g�v��u�e�X�g�쓮�J���v�ƌĂ��J����@�̕��y�ɍ��킹�đ傫�����ڂ����悤�ɂȂ����B
�@�e�X�g�쓮�J���ł́A�ŏ��Ɂi�V�X�e���{�̂ł͂Ȃ��j�e�X�g�E�R�[�h���L�q����B�e�X�g�E�R�[�h�̋L�q�����ׂďI���ƁA���Ƀe�X�g�����s����悤�ɖ{�̂̃R�[�h����������B������1�x�����e�X�g�����{���āA���ۂɃe�X�g�����s����̂��m�F����B
�@�����Ď��ɁA�e�X�g����������悤�ɃR�[�h���������āA�e�X�g�����{����B������Ǝd�l�ǂ���ɓ����R�[�h���L�q�ł�����A���ɃR�[�h�����ꂢ�ɂ��邽�߂Ƀ��t�@�N�^�����O�����{����B���t�@�N�^�����O���I���ƁA�C����̃R�[�h�����������삷�邱�Ƃ��m�F���邽�߂ɍēx�e�X�g�����{����B
�@�����܂ł̗�����e�X�g�쓮�J���ł́A�u���b�h�^�O���[���^���t�@�N�^�����O�v�ƌĂԁB�����̃e�X�g�E�c�[���ł́A�e�X�g�̎��s�����b�h�ŁA�e�X�g�����ׂăp�X������Ԃ��O���[���Ŏ�����邽�߂��B
�@�ł́AVS 2008���g���Ď��ۂɃe�X�g�쓮�J�����s���Ă݂悤�B
��1. �d�l�m�F
�@�e�X�g�쓮�J���́A�P���Ƀe�X�g���ɋL�q���邱�Ƃł͂Ȃ��A�e�X�g�E�R�[�h�̋L�q�ɂ��A���炩���ߌ��������d�l�̎�������������B
�@�����ł͏��i�iGoods�j�N���X���쐬���āA�w�����Ŋ������̈قȂ鏤�i�P�����擾����GetUnitPrice���\�b�h������Ă����B���i�P����10�ȏ�w����5�������A30�ȏ��10�������A50�ȏ��15�������Ƃ���B�܂��A�P���̒[���͐�̂Ă���̂Ƃ���B
��2. �e�X�g�E�R�[�h�̍쐬 �` �e�X�g�̎��{�i���b�h�j
�@�ŏ��ɍs���̂̓e�X�g�E�R�[�h�̍쐬�����A�e�X�g�ΏۂƂȂ�N���X�����炩���ߍ���Ă����ƃe�X�g�E�R�[�h�̍쐬���y�ł���B�����ł́A�܂��N���X�E���C�u����������Ă����B
�@����ɂ́A�e���v���[�g�Ƃ��āu�N���X ���C�u�����v���g�p�����v���W�F�N�g���쐬����B�uClass1.cs�v���쐬�����̂ŁA�t�@�C�������uGoods.cs�v�ɕύX���Ă������B�m�F�_�C�A���O�ŁA�mYes�n���N���b�N����ƁA�\�[�X�E�R�[�h���́uClass1�v���A�uGoods�v�ɕύX�����B
�@���ɃR�[�h�E�G�f�B�^��ŃN���X���E�N���b�N���āA�P�̃e�X�g�E�v���W�F�N�g���쐬����B�ȉ��ɂ��̎菇�������B
�N���X���ʼnE�N���b�N���ām�P�̃e�X�g�̍쐬�n�����s
�e�X�g�p�̃v���W�F�N�g�̖��O�����
�@�ȏ�ɂ��A�e�X�g�E�N���X���\������A�iGoods�N���X�́j�R���X�g���N�^�p�̃e�X�g�E�R�[�h���쐬�����B�R���X�g���N�^�̃e�X�g���K�v�Ȃ炱���ɋL�q����悢���A�K�v�Ȃ�����\�b�h���폜����悢�B
�@���ɁA�P�̃e�X�g�̃R�[�h���L�q���Ă����B�e�X�g�E���\�b�h���쐬���āA�R�[�h���L�q���邪�A���̎��_�ł͖{�̂̃R�[�h�i�����\���GetUnitPrice���\�b�h�j���������Ă��Ȃ����߁A���R�Ȃ���IntelliSense�ɂ͂��̃��\�b�h�͕\������Ȃ��B
�@�e�X�g�E�R�[�h�������グ��ƁA���݂��Ă��Ȃ����\�b�h���Ԏ��ŕ\�������B�����ɃJ�[�\�����ړ����A�C����╔�����N���b�N����Ɓu���\�b�h�E�X�^�u�v���ł���B
�Ԏ���GetUnitPrice�����ɃJ�[�\�����ړ�
�N���b�N���ă��\�b�h�E�X�^�u�����̍��ڂ�I��
�@���\�b�h�E�X�^�u�̐��������s����ƁAGoods�N���X����GetUnitPrice���\�b�h�����������B
public int GetUnitPrice(int p)
{
throw new NotImplementedException();
}
�@�����܂łł�����A�P�̃e�X�g�E���\�b�h���쐬���Ă����B�����ł́A���̂悤�ȋ��E�l�̃e�X�g���쐬���Ă����i�P�����̂��߁A�����Ȃ��̏��i�P����120�~�Ƃ��Ă���j�B
[TestMethod()]
public void GetUnitPriceTest9()
{
Goods goodsInstance = new Goods();
int actual = goodsInstance.GetUnitPrice(9);
Assert.AreEqual<int>(120, actual, "9�ł͊������Ȃ�");
}
[TestMethod()]
public void GetUnitPriceTest10()
{
Goods goodsInstance = new Goods();
int actual = goodsInstance.GetUnitPrice(10);
Assert.AreEqual<int>(System.Convert.ToInt32(120 * 0.95),
actual, "10�̍w����5������");
}
[TestMethod()]
public void GetUnitPriceTest29()
{
Goods goodsInstance = new Goods();
int actual = goodsInstance.GetUnitPrice(29);
Assert.AreEqual<int>(System.Convert.ToInt32(120 * 0.95),
actual,"29�ł́A5������");
}
[TestMethod()]
public void GetUnitPriceTest30()
{
Goods goodsInstance = new Goods();
int actual = goodsInstance.GetUnitPrice(30);
Assert.AreEqual<int>(System.Convert.ToInt32(120 * 0.90),
actual, "30�ł́A10������");
}
[TestMethod()]
public void GetUnitPriceTest49()
{
Goods goodsInstance = new Goods();
int actual = goodsInstance.GetUnitPrice(49);
Assert.AreEqual<int>(System.Convert.ToInt32(120 * 0.90),
actual, "49�ł́A10������");
}
[TestMethod()]
public void GetUnitPriceTest50()
{
Goods goodsInstance = new Goods();
int actual = goodsInstance.GetUnitPrice(50);
Assert.AreEqual<int>(System.Convert.ToInt32(120 * 0.85),
actual, "50�ł́A15������");
}
�@�e�X�g�E�R�[�h���쐬����Ƃ��Ɉӎ����ׂ����Ƃ͎��̓_���B
�@�d�l�ɂȂ����Ƃ܂Ŋm�F����e�X�g�E�R�[�h���L�q����K�v�͂Ȃ��B�t�ɁA�e�X�g����K�v������̂ł���A�d�l��lj�����K�v������B�܂�A�ŏ��ɋ������d�l���m�F���邽�߂ɍŒ���K�v�ȃe�X�g�݂̂������ɋL�q�������ƂɂȂ�B
�@���āA����ł̓e�X�g�����{���Ă݂悤�B�{�̑��̎������I����Ă��Ȃ��̂ŁA���R���ׂẴe�X�g�͎��s����B
�@����Łu�e�X�g�̎��{�i���b�h�j�v�������������ƂɂȂ�B
��3. �R�[�h�̍쐬 �` �e�X�g�̎��{�i�O���[���j
�@���āA���b�h�̒i�K����������ƁA���ɖ{�̂̃R�[�h�̍쐬�ɓ��邱�ƂɂȂ�B�R�[�h�̎����͒ʏ�̃R�[�f�B���O�Ƃ܂������ς��Ȃ��B�d�l�ɏ]���đf���Ɏ��������̂��ȉ��̃R�[�h�ł���B
public int GetUnitPrice(int quantity)
{
// 50�ȏ��15������
if (quantity >= 50)
{
return Convert.ToInt32(120 * 0.85);
}
// 30�ȏ��10������
if (quantity >= 30)
{
return Convert.ToInt32(120 * 0.90);
}
// 10�ȏ��5������
if (quantity >= 10)
{
return Convert.ToInt32(120 * 0.95);
}
return 120;
}
�@���̏�Ԃōēx�e�X�g�����{���Ă݂悤�B
�@����ł��ׂẴe�X�g�����������O���[���̏�ԂɂȂ����B
��4. ���t�@�N�^�����O �` �e�X�g�̎��{�i�O���[���j
�@���ׂĂ̎d�l�����A�e�X�g���O���[���̏�ԂɂȂ����玟�̓��t�@�N�^�����O�ł���B
�@���t�@�N�^�����O�Ƃ́A����͂��̂܂܂Ń\�[�X�E�R�[�h���g���ꂢ�h�ɂ����Ƃł���B�e�X�g�쓮�J���ł́A�u�d�������R�[�h��r������v���Ƃ�1�̑傫�ȖڕW�Ƃ��ċ������Ă���B
�@C#�ɂ́i�J������Ƃ���C#��I������VS 2008�̃v���W�F�N�g���쐬�����ꍇ�j�A���t�@�N�^�����O���s�����߂́u���t�@�N�^�@�\�v���p�ӂ���Ă��āA�R�[�h�E�G�f�B�^��̉E�N���b�N�E���j���[������s���邱�Ƃ��ł���B
�@Visual Basic�ɂ́A���t�@�N�^�@�\���p�ӂ���Ă��Ȃ����ARefactor! for Visual Basic 2008�Ƃ������i�������Œ���Ă���B������C���X�g�[������AC#�Ɠ����悤�ɉE�N���b�N�E���j���[�Ŏ��s���邱�Ƃ��ł��邪�A������͎��s�\�ȃ��j���[�݂̂��\�������B
�@���t�@�N�^�����O����������ƁA�e�X�g�����ׂĐ��������삷�邱�Ƃ��ēx�m�F����B���łɃe�X�g�̓p�X���Ă���̂ŁA���t�@�N�^�����O�ɂ��f�O���[�h�i�V���ȃo�O�̍�荞�݁j�͂����ɔ�������B
�@�ȏ�ŊȒP�ł͂��邪�A�e�X�g�쓮�J���̈�A�̗�������Ă����B���̌�́A�@�\���lj�����邽�тɃe�X�g�E�R�[�h�̍쐬���m�F�������Ƃ����A������������ǂ邱�ƂɂȂ�B
Copyright© Digital Advantage Corp. All Rights Reserved.